首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UTF-32编码输出值

UTF-32编码输出值
EN

Stack Overflow用户
提问于 2017-02-24 13:47:21
回答 1查看 319关注 0票数 0

在python中,我使用带有utf-32编码的encode,结果如下

代码语言:javascript
复制
>>> a = u"A"
>>> a.encode("utf-32")
'\xff\xfe\x00\x00A\x00\x00\x00'
>>> len(a.encode("utf-32"))
8

长度为8

但是,在此站点http://macchiato.com/unicode/convert.html上,使用UTF-32BE,输出

代码语言:javascript
复制
00 00 00 41

长度为4

为什么不等于两个值。

EN

回答 1

Stack Overflow用户

发布于 2017-02-24 15:30:25

正如Biffen在评论中正确指出的那样,Python包含一个BOM (字节顺序标记)。对于UTF-32,这是ff fe 00 00A本身被编码为41 00 00 00。如果您不需要物料清单,请使用utf-32le。由于您将其与UTF-32BE编码进行比较,因此您还可以在Python语言中使用utf-32be来颠倒字节顺序:

代码语言:javascript
复制
>>> "A".encode("utf-32")
b'\xff\xfe\x00\x00A\x00\x00\x00'
>>> "A".encode("utf-32le")
b'A\x00\x00\x00'
>>> "A".encode("utf-32be")
b'\x00\x00\x00A'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42431633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档