您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python 2,3干净地将整数转换为“字节”

Python 2,3干净地将整数转换为“字节”

要将字符串转换为Python 2或Python 3中的字节序列,请使用字符串的encode方法。如果您不提供编码参数'ascii',则该参数对于数字总是足够的。

s = str(n).encode()

在Python 2中str(n)已经产生了字节;该encode会是一个双转换与此字符串隐式转换为Unicode,然后再返回到字节。这是不必要的工作,但它无害且与Python 3完全兼容。

上面是对实际提出的问题的答案,该问题是生成人类可读形式的ASCII字节字符串。但是由于人们不断来这里试图获得 一个 问题的答案,所以我也会回答这个问题。如果您想转换10b'10'使用上面的答案,但是如果您想转换10b'\x0a\x00\x00\x00'继续阅读。

struct模块专门用于在各种类型及其二进制表示形式(字节序列)之间进行转换。从类型到字节的转换是通过完成的struct.pack。有一个format参数fmt确定应执行的转换。对于4字节整数,它将i用于有符号数或I无符号数。有关更多可能性,请参见格式字符表,如果输出大于单个字节,请参见字节顺序,大小和对齐表获取选项。

import struct
s = struct.pack('<i', 5) # b'\x05\x00\x00\x00'
python 2022/1/1 18:51:36 有350人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶