unicode号码到底是什么?

2024-09-27 01:25:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中:

>>> "\xc4\xe3".decode("gbk").encode("utf-8")
'\xe4\xbd\xa0'
>>> "\xc4\xe3".decode("gbk")
u'\u4f60'

我们可以得出两个结论:

1.\xc4\xe3 in gbk encode=\xe4\xbd\xa0(utf-8格式)
2.\xc4\xe3 in gbk encode=\x4f\x60以unicode表示(或在ucs-2中)

在R中:

^{pr2}$

现在,结论1是正确的,它在python中与R
结论2是一个难题,
gbk encode中的\xc4\xe3究竟是什么??unicode格式。
在python中它是u'\u4f60',在R中它是ff fe60 4f
是平等的吗?哪一个是正确的?它们都对吗?在


Tags: in格式unicodeutfencodexa0decodexbd
1条回答
网友
1楼 · 发布于 2024-09-27 01:25:41

在python中,\uxxxx符号引用Unicode代码点,而不是这些代码点的任何编码。在

UCS-2、UTF-16、UTF-8都是能够以字节形式捕获代码点的编码,这些字节适合存储在文件中,用于在网络上传输等等

\u4f60代码点的R表示包括UTF-16Byte Order Mark,或BOM。它指示所选择的字节顺序,其中0xFFFE表示little endian。Python也包含它,当你编码到UTF-16时:

>>> u'\uf460'.encode('utf16')
'\xff\xfe`\xf4'

big-endian等价物是0xFEFF。您可以在python中显式地编码为utf-16be或{},以避免包含BOM,因为您已经做出了明确的选择:

^{pr2}$

您确实应该阅读joelspolsky Unicode的文章,以及Python Unicode HOWTO,以便更全面地理解Unicode和编码之间的区别。在

相关问题 更多 >

    热门问题