ZKX's LAB

c语言使用的汉字编码 用c语言怎样得到一个汉字的GB2312编码

2021-04-23知识1

在C语言中怎样获得汉字编码? 汉字编码分好几种,不知道你想问的是哪种?C/C++支持的是ASCII,不过汉字编码中,GB2312与ASCII是兼容的,所以可以在C中获得汉字的GB2312编码GB2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:includeincludeint main(){char a[5];strcpy(a,\"啊\");printf(\"%XH%XH\\n\",(unsigned char)a[0],(unsigned char)a[1]);return 0;}a[0]是“啊”字的高八位,a[1]是低八位,程序运行结果是a[0]=B0 a[1]=A1,用16进制表示的,所以“啊”字的GB2312编码是B0A1了~输出时要强制转换成unsigned char,不然就变成负数了,因为编码是以8位的无符号整数为单位的当然也可以转成10进制啦,比如int b;b=(unsigned char)a[0]*256+(unsigned char)a[1];b即为汉字的10进制GB2312编码了

用c语言怎样得到一个汉字的GB2312编码 源代码是GB2312编码方式写的就比较简单123456789101112131415void printgb(unsigned char*s){ while(*s){ if(*s>;=0x7f){ printf(\"%02x%02x\",*s,*(s+1));s+2;} else { printf(\"%04x\",*(s+));} }}int main(){ printgb(\"2017你好中国great china\");return 0;}

c语言文件读取汉字及汉字编码的问题 先贴程序#define_CRT_SECURE_NO_WARNINGS#include using namespace std;int main(void){ char ch;FILE*f;int i=0;。

#c语言使用的汉字编码

随机阅读

qrcode
访问手机版