Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么python会将0000附加到每个UTF-32编码字符上?_Python_Unicode - Fatal编程技术网

为什么python会将0000附加到每个UTF-32编码字符上?

为什么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

尝试:

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)
0000feff
是UTF-32 BOM,
00000061
是“a”

UTF-32
。如果您想要特定的内容,请使用
UTF-32-BE
UTF-32-LE

> bin2hex(iconv('ASCII', 'UTF-32', 'a'));
0000feff00000061