嵌入式开发中GBK编码 |
您所在的位置:网站首页 › gbk汉字编码查询 › 嵌入式开发中GBK编码 |
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、gbk是什么?二、使用步骤 1.gbk使用样例2.在线GBK汉字编码查询 一、gbk是什么?GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。GBK编码依然采用双字节编码方案,其编码范围:8140-FEFE,剔除xx7F码位,共23940个码位。共收录汉字和图形符号21886个,其中汉字(包括部首和构件)21003个,图形符号883个。GBK编码支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。 gbk编码主要用中文编码,包含全部中文字符,gbk的长度为2个字节,所以和gbk相比,utf-8会占用更多的数据库储存空间。对于gbk编码格式,虽然它的功能少,仅限于中文字符,但它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。 二、使用步骤 1.gbk使用样例 demo.c,代码如下(示例): #include #include #include // 汉字转换为GBK编码 void convert_to_gbk(const char* chinese_text, size_t chinese_len, char* gbk_bytes, size_t gbk_len) { iconv_t cd = iconv_open("GBK", "UTF-8"); iconv(cd, (char**)&chinese_text, &chinese_len, &gbk_bytes, &gbk_len); iconv_close(cd); } // GBK编码转换为汉字 void convert_to_chinese(const char* gbk_bytes, size_t gbk_len, char* chinese_text, size_t chinese_len) { iconv_t cd = iconv_open("UTF-8", "GBK"); iconv(cd, (char**)&gbk_bytes, &gbk_len, &chinese_text, &chinese_len); iconv_close(cd); } int main() { const char* chinese_text = "你好"; char gbk_bytes[4]; convert_to_gbk(chinese_text, strlen(chinese_text), gbk_bytes, sizeof(gbk_bytes)); printf("GBK编码: "); for (int i = 0; i < sizeof(gbk_bytes); i++) { printf("%02X", (unsigned char)gbk_bytes[i]); } printf("\n"); const char* gbk_bytes_input = "\xC4\xE3\xBA\xC3"; char chinese_text_output[6]; convert_to_chinese(gbk_bytes_input, strlen(gbk_bytes_input), chinese_text_output, sizeof(chinese_text_output)); printf("汉字: %s\n", chinese_text_output); return 0; } demo编译运行结果:Virtual_machine@ubuntu:~/Desktop/demo-gbk$ gcc demo.c -o demo Virtual_machine@ubuntu:~/Desktop/demo-gbk$ ./demo GBK编码: C4E3BAC3 汉字: 你好 demo编译运行结果对比GBK汉字编码查询![]() gbk汉字编码查询:GBK汉字编码查询 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |