Python中整数转字节异常:为何输出b'\t'而非b'\x09'?
整数转字节后显示差异的原因
这俩其实是同一个字节,只是Python的显示规则不同而已。
- 整数9对应的ASCII字符是制表符(Tab),也就是
\t。Python在输出字节串时,会优先把可打印的ASCII字符显示成对应的符号,而不是十六进制转义格式\x09。 - 你可以直接验证,这两个字节串在内存里完全等价:
>>> b'\t' == b'\x09' True >>> ord('\t') 9 - 要是你非得让它显示成十六进制转义的格式,用
repr()函数就行:>>> print(repr(data.to_bytes())) b'\x09'
内容的提问来源于stack exchange,提问作者Paul Bernard
相关产品推荐
相关产品推荐

