GBK编码判断中文 因为符号位是1参考你发的资料中的以下内容:第一个字节 第二个字节GBK|x81-0xFE(129-254)|0x40-0xFE(64-254)通过这里,你也知道第一个字节的范围是129~254,这个范围的数,其最高位都是1,而以int类型解释时,最高位是1就意味着这是一个负数,明白了吗?一个GBK汉字要占两个char空间(二字节),而且第一个字节里的值是小于0的。可以e799bee5baa6e79fa5e98193e4b893e5b19e31333239313432据此判断是否为汉字。比如:includeint main(void){char a[10]=\"C语言;int i;for(i=0;a[i];i+)if(a[i]){printf(\"Chinese:%c%c\\n\",a[i],a[i+1]);i+;}else printf(\"Not Chinese:%c\\n\",a[i]);return 0;}
对于一个数字.汉字或字母,其对应的GB2312和GBK编码相同吗?为什么 汉字不一定相同,GBK范围比GB2312大得多,GBK有的汉字,GB2312不一定会有数字和字母在任何字符集下都是相同的
GBK编码的一个汉字要占多少字节呀? GBK编码,一个汉字占两个字节。GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification),中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。这一版的GBK规范为1.0版。GBK 亦采用双字节表示,总体编码范围为 8140-FEFE,首字节在 81-FE 之间,尾字节在 40-FE 之间,剔除 xx7F 一条线。总计 23940 个码位,共收入 21886 个汉字和图形符号,其中汉字(包括部首和构件)21003 个,图形符号 883 个。全部编码分为三大部分:1.汉字区。包括:a.GB 2312 汉字区。即 GBK/2:B0A1-F7FE。收录 GB 2312 汉字 6763 个,按原顺序排列。b.GB 13000.1 扩充汉字区。包括:(1)GBK/3:8140-A0FE。收录 GB 13000.1 中的 CJK 汉字 6080 个。(2)GBK/4:AA40-FEA0。收录 CJK 汉字和增补的汉字 8160 个。CJK 汉字在前,按 UCS 代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。2.图形符号区。包括:a.GB 2312 非汉字符号区。即 。