概述
从开始写自动化测试代码以来,一直遇到中文的解析问题,故梳理一下用到的知识并做一个总结,方便日后使用(避免每次使用都要找老代码或重新百度)。
一些基本概念
- 编码:信息从一种格式转换成另一种格式的过程
- 解码:编码的逆过程
- 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。