gpt4 book ai didi

Python3 在打印十六进制值时添加了额外的字节

转载 作者:太空狗 更新时间:2023-10-30 00:31:54 25 4
gpt4 key购买 nike

我遇到了 Python2 和 Python3 之间的奇怪区别。当使用 Python3 打印时,打印相同的字符列表会产生一个额外的字节 C2。我会期待同样的行为。 Python2 的行为符合我的预期。我在这里缺少什么?

$ python3 -c "print('\x30\xA0\x04\x08')" | xxd
0000000: 30c2 a004 080a
$ python2 -c "print('\x30\xA0\x04\x08')" | xxd
0000000: 30a0 0408 0a

最佳答案

Python 3 字符串是 unicode,在您的平台上,unicode 是使用 UTF-8 编码打印的。 unicode字符U+00A0的UTF-8编码是0xC2 0xA0,这就是你看到的。

Python 2 字符串是字节串,所以它们是准确输出的。

关于Python3 在打印十六进制值时添加了额外的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28429062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com