编码格式经常用的有UTF-8、GBK,之前用eclipse开发的时候默认格式就是GBK,现在换成AS后默认格式变成了标准的UTF-8。最近做银行业务发现其报文用16进制字符串转成byte数组后,再分别用UTF-8和GBK转码都会有乱码的情况出现。使用UTF-8转码时由于全部是乱码因此判定UTF-8编码肯定是不规范的,使用GBK转码发现有部分字是乱码于是进入正文开始了对编码格式的研究。
乱码的部分是维文,通过度娘了解到一个维文是由四个字节组成,与在GBK编码下一个汉字两个字节不同。便假设维文采用的Unicode编码经测试发现假设是错误的,于是又转到gb编码上来寻找合适的编码格式。一下是搜索到的中文编码格式。
GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。GB2312对汉字采用双字节编码,收录7445个图形字符,其中包括 6763个汉字。
BIG5编码:台湾地区繁体中文标准字符集,采用双字节编码,共收录13053个中文字,1984年实施。
GBK编码:1995年12月发布的汉字编码国家标准,是对GB2312编码的扩充,对汉字采用双字节编码。GBK字符集共收录21003个汉 字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
GB18030编码:2000年3月17日发布的汉字编码国家标准,是对GBK编码的扩充,覆盖中文、日文、朝鲜语和中国少数民族文字, 其 中收录27484个汉字。GB18030字符集采用单字节、双字节和四字节三种方式对字符编码。兼容GBK和GB2312字符集。
Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
GB18030编码覆盖中、日、朝鲜、少数民族文字,采用单字节、双字节、四字节三种字符编码,维文即使中过少数名字文字又是四字节编码,gb18030没理由不支持转码,经测试发现假设正确。