嵌入式开发中GBK编码

您所在的位置:网站首页 gbk汉字编码查询 嵌入式开发中GBK编码

嵌入式开发中GBK编码

2023-08-05 04:16| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 一、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汉字编码查询  2.在线GBK汉字编码查询

        gbk汉字编码查询:GBK汉字编码查询



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3