屏幕前我们看到的文字,在计算机中也是这样表示吗?事实上,我们所有的信息电脑是无法直接理解的,同样我们所要表达的信息,计算机也不能看懂。这就需要架起一个理解的桥梁,也就是编码帮助我们相互之间进行翻译。今天小编就python中的字符编码问题为带来讲解,同时教大家转换字符的方法。
字符编码(Character Encoding)是将字符集中的字符码映射为字节流的一种具体实现方案,常见的字符编码有 ASCII 编码、UTF-8 编码、GBK 编码等。某种意义上来说,字符集与字符编码有种对应关系,例如 ASCII 字符集对应 有 ASCII 编码。ASCII 字符编码规定使用单字节中低位的7个比特去编码所有的字符。例如"A" 的编号是65,用单字节表示就是0×41,因此写入存储设备的时候就是b'01000001'。
在最新的 Python 3 版本中,所有字符串都以Unicode 进行编码。因此,Python3 的字符串默认支持多语言。声明字符串可以使用单引号和双引号
>>>a="apple" >>>b='banana' >>>print('包含中文的str') 包含中文的str
对于单个字符的编码,Python提供了 ord() 函数获取字符的十进制整数表示,chr() 函数把编码转换为对应的字符:
>>>ord('A') 65 >>>ord('中') 20013 >>>chr(66) 'B' >>>chr(25991) '文'
如果知道字符的整数编码,还可以用十六进制写 str,两种写法完全是等价的。
>>>'\u4e2d\u6587' '中文' >>>'\u4e2d\u6587'=='中文' True
通过字符编码,我们就可以对计算机的数据进行转换,当然也可以把我们的数据转换成计算机机语言保存起来,觉得实用的小伙伴赶紧学起来吧。