- 首先前面的 \ 表示转义, \x:只是 16 进制的意思,后边跟两位,则表示单字节编码;
- \d:十进制;\o:八进制;
- \u:unicode 码; 一般其后跟 4 个 16 进制数,就是两个字节。因此,一般为 unicode-16 ;
- Python:字符串的decode和encode成员函数,可对其进行转换
>>>test1 = '\u5220\u9664' ##构造字符串str
>>>print(test1)
删除
>>>type(test1)
<class 'str'>
>>>test1 = u'\u5220\u9664' ##前缀u表示Unicode编码,在python3中,str默认采用Unicode编码,所以结果前面一样
>>>print(test1)
删除
>>>type(test1)
<class 'str'>
>>> test2 = test1.encode('utf-8') ##将test1用utf-8编码,成为byte array,就是bytes class
>>> print(test2)
b'\xe5\x88\xa0\xe9\x99\xa4'
>>> type(test2)
<class 'bytes'>
>>> test3 = b'a' ##前缀b是bytes类型
>>> type(test3)
<class 'bytes'>
>>> b'删除'
File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>>
- ord(c):参数是长度为1的字符串,简称字符。当参数为统一对象时(unicode object),返回能代表该字符的统一编码,当参数为8比特的字符串时,返回该字节培养他’a’)返回整形数值97,ord(u’\u2020’)返回8224。
>>> ord('a')
97
>>> hex(ord('删'))
'0x5220'
chr(i):返回一个字符,字符的ascii码等于参数中的整形数值。例如chr(97)返回字符’a’,该方法是ord()的反方法。参数必须是0-255的整形数值,否则会抛出valueError错误。
在应用函数时,观察到有个python函数比较高效,map(function,iterable,…)将函数应用于每一项iterable,并且返回一个结果的列表。map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
注意:map()函数不改变原有的 list,而是返回一个新的 list。
- 利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。
- 由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。
testlist = ['删','除']
a = map(ord,listtest)
b = list(a)
>>> for i in range(len(b)):
... b[i] = hex(b[i])
...
>>> b
['0x5220', '0x9664']
这篇文章讲的很详细 https://blog.youkuaiyun.com/piglite/article/details/80676641