本帖最后由 Psheng 于 2018-12-28 19:54 编辑
utf8_2_gbk.rar
(46.1 KB, 下载次数: 12, 售价: 1 金钱)
2018-12-28 18:47 上传
点击文件名下载附件
unicode(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
代码思路为先判断是否为utf8格式,不是则跳过该数据,并且错误次数加一。
是utf8格式这将其转化成unicode编码后 ,然后将unicode编码减去0x4e00(unicode编码中第一个汉字编码),
得到汉字的偏移值后带入unicode2gbk数组得到GBK编码。
unicode2gbk数组中有以unicode编码顺序所对应的GBK汉字编码(删掉了非汉字的gbk码),
调用这个函数就可以完成转换 u8 utf8_2_gbk(utf8_2_gbk_t *u2g)
/*
*功能 :将utf8的字符转换成gbk字符
*utf :输入的utf数组
*gbk :输出转化后的gbk数组
*utfnum :输出utf数组转换的个数
*gbknum :输出gbk数组转换的个数
*返回值 :表示字符错误次数
* 其中的utf数组和gbk数组都是按照大端储存的
* 如数据 0x4e01 0x1234 内存布局
* 地址: 0 1 2 3
* 数据: 0x4e 0x01 0x12 0x34
*/
gbk.rar
(519.18 KB, 下载次数: 15)
2018-12-28 19:41 上传
点击文件名下载附件
这个是从网上的博主下载的转换对照Excel表格,
地址忘记了。。找到了再贴
一周热门 更多>