为什么python会将0000附加到每个UTF-32编码字符上?
尝试: Python将输出:为什么python会将0000附加到每个UTF-32编码字符上?,python,unicode,Python,Unicode,尝试: Python将输出: codecs.getencoder('hex_codecs')(codecs.getencoder('utf-32')('a')[0]) 为什么python会将0000追加到UTF-32编码的字符串中 谢谢。没有61000000是U+0061的(小端)UTF-32编码,拉丁文小写字母A。6100将是(小端)UTF-16编码,61将是UTF-8编码。它只是以与您预期相反的(小端)顺序排列字节。在PHP中也是如此: ('fffe000061000000', 8) 0
codecs.getencoder('hex_codecs')(codecs.getencoder('utf-32')('a')[0])
为什么python会将0000追加到UTF-32编码的字符串中
谢谢。没有
61000000
是U+0061的(小端)UTF-32编码,拉丁文小写字母A。6100
将是(小端)UTF-16编码,61
将是UTF-8编码。它只是以与您预期相反的(小端)顺序排列字节。在PHP中也是如此:
('fffe000061000000', 8)
0000feff
是UTF-32 BOM,00000061
是“a”
UTF-32
。如果您想要特定的内容,请使用UTF-32-BE
或UTF-32-LE
> bin2hex(iconv('ASCII', 'UTF-32', 'a'));
0000feff00000061