概述
从开始写自动化测试代码以来,一直遇到中文的解析问题,故梳理一下用到的知识并做一个总结,方便日后使用(避免每次使用都要找老代码或重新百度)。
一些基本概念
- 编码:信息从一种格式转换成另一种格式的过程
- 解码:编码的逆过程
- ASCII:美国标准信息交换码1.由7位二进制编码存储,共128个对应字符
- Unicode:万国码,是一个字符集,几乎包含所有语言。(面向标准)
- utf-x: 为传输而设计的编码方式,常用utf-8,可以转换世界上所有文化的字符(面向存储)
- gb18030:国家编码标准,类似ascii是美国的编码标准,gbk是中文编码标准,其实也是ascii的中文扩展。向下兼容GBK和GB2312
编码转换
gbk要转为utf-8需要使用unicode字符集作为过渡。
同理,utf-8要转为gbk也要使用unicode字符集作为过渡。
这样理解:
各国各自开发了自国语言的编码标准,为了方便兼容和移植,创造了一个统一的字符集,并按utf-x编码方式对该字符集进行存储。两国编码进行交流,需要先转换成国际通用语才可以。而交流信息通过utf-x进行存储2。
python内建函数
chr(i)
:
参数为0-255之间的整数,返回对应的ascii编码表示。但实际上因ascii码只有128个,所以亲测在i大于128时输出的均为del
str()
:
工厂函数,创建一个string对象。默认编码格式可由系统设定,一般为