
出自:https://zhuanlan.zhihu.com/p/453675608


出自:https://zhuanlan.zhihu.com/p/453675608

出自:https://blog.csdn.net/m0_47584501/article/details/128881636
总结:gbk、utf8都兼容ascii码,gbk、u8兼容ascii码的部分都是一个字节长度,编码值、传输编码值都相同。gbk、u8除了ascii码之外的字符最少也是两个字节长度。
中行的某个系统使用的8583报文,认为每个域的长度指的是字节长度,并且代码中按照字节长度截取字节数组从未产生过乱码(但不是每个域、每个字段都这样截取操作过),所以大概都是用的ascii码。另外有汉字的域,长度都等于:预估的汉字最大个数✖2.
如果这个任务,四包编辑各个域时有的域以gbk编码有的域以utf-8编码,有的域的各个字段都以不同的字符集编码。那就不能在四包打包时整包转码(gbk转u8,或u8转gbk),因为前面编码不一致,不能整包转,只能根据不同编码的域、字段转。
网友评论