MaN*_*KuR 8 python unicode unicode-string python-3.x python-unicode
为什么我们在Python 3中有不同的面向字节的字符串表示?单个表示而不是多个表示是否足够?
对于ASCII范围编号打印,字符串显示以下列开头的序列\x:
In [56]: chr(128)
Out[56]: '\x80'
Run Code Online (Sandbox Code Playgroud)
在不同的数字范围内,Python使用以.开头的序列 \u
In [57]: chr(57344)
Out[57]: '\ue000'
Run Code Online (Sandbox Code Playgroud)
但是在最高范围内的数字,即截至目前的最大Unicode数,它使用了一个领先的\U:
In [58]: chr(1114111)
Out[58]: '\U0010ffff'
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 11
Python为您提供字符串的表示,对于不可打印的字符,将使用最短的可用转义序列.
\x80与\u0080or 相同的字符\U00000080,但\x80只是更短.对于chr(57344)最短的表示法\ue000,您不能表达相同的字符\xhh,表示法只能用于最多的字符\0xFF.
对于某些角色,甚至还有单字母转义\n符,例如换行符或\t制表符.
出于历史和实际原因,Python有多种表示法选项.在一个字节串,你只能在0范围内创建字节- 255,所以\xhh是有益的,不必使用更简洁\U000hhhhh无处不在的时候,你甚至不能使用可用于该符号的全范围,\xhh并\n与相关的代码是熟悉来自其他语言的程序员.
| 归档时间: |
|
| 查看次数: |
4305 次 |
| 最近记录: |