Python拉丁字符和Unicode

Python拉丁字符和Unicode,第1张

Python拉丁字符和Unicode

您没有unipre对象,但是具有UTF-8编码文本的字节字符串。印制例如字节串到你的终端 可能 ,如果你的终端被配置为处理UTF-8文本。

当转换一个列表串,该列表的内容被示出为 表示 ;

repr()
函数的结果。字符串对象的表示形式对可打印ASCII范围以外的任何字节使用转义码;
n
例如,换行符被替换。您的UTF-8字节由
xhh
转义序列表示。

如果您使用Unipre对象,表示将使用

xhh
逃逸
,但在Latin-1的范围内(外ASCII)仅Unipre代码点(其余都显示与
uhhhh
Uhhhhhhhh
逃逸取决于它们的代码点);
在打印时,Python会自动将这些值编码为适合终端的正确编码:

>>> u'université'u'universitxe9'>>> len(u'université')10>>> print u'université'université

将此与字节字符串进行比较:

>>> 'université''universitxc3xa9'>>> len('université')11>>> 'université'.depre('utf8')u'universitxe9'>>> print 'université'université

注意,长度反映了

é
代码点也被编码为两个字节。顺便说一句,是我的终端
xc3xa9
在将
é
字符粘贴到Python会话中时向Python提供了字节,因为它已配置为使用UTF-8,并且当我定义
u'..'
Unipre对象文字时,Python已检测到并解码了字节。

我强烈建议您阅读以下文章,以了解Python如何处理Unipre,以及Unipre文本和编码的字节字符串之间的区别是什么:

  • 每个软件开发人员绝对,肯定必须绝对了解Unipre和字符集(无借口!)作者:Joel Spolsky

  • 在Python的Unipre指南

  • Ned Batchelder的实用Unipre



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5643032.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存