您的位置:首页 > 编程语言 > Python开发

流畅的Python 第4章: 文本和字节序列

2018-01-28 16:09 405 查看
1. unicode 编码与解码
 

>>> s = 'café'
>>> len(s)
4
>>> b = s.encode('utf8')
>>> b
b'caf\xc3\xa9'
>>> len(b)
5
>>> b.decode('utf8')
'café'


2. 二进制序列类型

bytes 或 bytearray 对象的各个元素是介于 0~255(含)之间的整数

>>> cafe = bytes('café', encoding='utf_8')
>>> cafe
b'caf\xc3\xa9'
>>> cafe_arr = bytearray(cafe)
>>> cafe_arr
bytearray(b'caf\xc3\xa9')
>>>


3 . 标准化unicode文本
  在 Unicode 中,某些字符能够用多个合法的编码表示,使用unicodedata将其标准化

>>> s1 = 'Spicy Jalape\u00f1o'
>>> s2 = 'Spicy Jalapen\u0303o'
>>> s
'café'
>>> s2
'Spicy Jalapeño'
>>> s1 == s2
False
>>> import unicodedata
>>> t1 = unicodedata.normalize('NFC', s1)
>>> t2 = unicodedata.normalize('NFC', s2)
>>> t1 == t2
True
>>> print(ascii(t1))
'Spicy Jalape\xf1o'
>>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: