Python:从 INT 转换为 BYTES 问题
Python: convert from INT to BYTES issue
从 INT 转换为 BYTES 时有些奇怪。
我用来转换的函数:(int).to_bytes(byte lenght,'big')
在我的具体情况下,我尝试将 31 转换为字节,它显示:
b = (31).to_bytes(1,'big')
b
b'\x1f'
但是当我转换 10 或大于 31 时。它会显示另一个意想不到的值:
b = (10).to_bytes(1,'big')
b
b'\n'
==> b value here supposed to be: b'\x0a'. i don't know why it return b'\n' please let me know the secret behind.
与值 50 相同。
b = (50).to_bytes(1,'big')
b
b'2'
==> b value supposed to be b'x'
请帮忙......
Python 表示 bytes
如果一个值是可打印的 ASCII,它将使用它而不是转义序列。你可以试试看:
>>> b'\x0a'
b'\n'
>>> b'\x32'
b'2'
它检查出:\n
是 Python 的换行符转义序列(ASCII 字符 10),2
是 ASCII 字符 50。
从 INT 转换为 BYTES 时有些奇怪。 我用来转换的函数:(int).to_bytes(byte lenght,'big') 在我的具体情况下,我尝试将 31 转换为字节,它显示:
b = (31).to_bytes(1,'big')
b
b'\x1f'
但是当我转换 10 或大于 31 时。它会显示另一个意想不到的值:
b = (10).to_bytes(1,'big')
b
b'\n'
==> b value here supposed to be: b'\x0a'. i don't know why it return b'\n' please let me know the secret behind.
与值 50 相同。
b = (50).to_bytes(1,'big')
b
b'2'
==> b value supposed to be b'x'
请帮忙......
Python 表示 bytes
如果一个值是可打印的 ASCII,它将使用它而不是转义序列。你可以试试看:
>>> b'\x0a'
b'\n'
>>> b'\x32'
b'2'
它检查出:\n
是 Python 的换行符转义序列(ASCII 字符 10),2
是 ASCII 字符 50。