专升本计算机考试汉字编码问题
65页1、专升本计算机考试汉字编码问题由于常常要和汉字处理打交道,因此,我常常受到汉字编码问题的困扰。在不断的打击与坚持中,也积累了一点汉字编码方面的经验,想和大家一起分享。一、汉字编码的种类汉字编码中现在主要用到的有三类,包括GBK,GB2312和Big5。1、GB2312又称国标码,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。它是一个简化字的编码规范,当然也包括其他的符号、字母、日文假名等,共7445个图形字符,其中汉字占6763个。我们平时说6768个汉字,实际上里边有5个编码为空白,所以总共有6763个汉字。 GB2312规定“对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示”,习惯上称第一个字节为“高字节”,第二个字节为“低字节”。GB2312中汉字的编码范围为,第一字节0xB0-0xF7(对应十进制为176-247),第二个字节0xA0-0xFE(对应十进制为160-254)。GB2312将代码表分为94个区,对应第一字节(0xa1-0xfe);每个区94个位(0xa1-0xfe),对应第二字节,两个字节的值分别为区号值和位号值加3
2、2(2OH),因此也称为区位码。01-09区为符号、数字区,16-87区为汉字区(0xb0-0xf7),10-15区、88-94区是有待进一步标准化的空白区。2、Big5又称大五码,主要为香港与台湾使用,即是一个繁体字编码。每个汉字由两个字节构成,第一个字节的范围从0X810XFE(即129-255),共126种。第二个字节的范围不连续,分别为0X400X7E(即64-126),0XA10XFE(即161-254),共157种。3、GBK是GB2312的扩展,是向上兼容的,因此GB2312中的汉字的编码与GBK中汉字的相同。另外,GBK中还包含繁体字的编码,它与Big5编码之间的关系我还没有弄明白,好像是不一致的。GBK中每个汉字仍然包含两个字节,第一个字节的范围是0x81-0xFE(即129-254),第二个字节的范围是0x40-0xFE(即64-254)。GBK中有码位23940个,包含汉字21003个。表1 汉字编码范围名称 | 第一字节 | 第二字节-|-|-GB2312 | 0xB0-0xF7(176-247) | 0xA0-0xFE(160-254)-|-|-GBK0 |
3、x81-0xFE(129-254) | 0x40-0xFE(64-254)-|-|-Big5 | 0x81-0xFE(129-255) | 0x40-0x7E(64-126), | | 0xA10xFE(161-254)-|-|-二、对汉字进行hash为了处理汉字的方便,在查找汉字的时候,我们通常会用到hash的方法,那怎么来确定一个汉字位置呢?这就和每种编码的排列有关了,这里主要给出一种hash函数的策略。对于GB2312编码,设输入的汉字为GBword,我们可以采用公式(C1-176)*94 + (C2-161)确定GBindex。其中,C1表示第一字节,C2表示第二字节。具体如下: GBindex = (unsigned char)GBword.at(0)-176)*94 + (unsigned char)GBword.at(1) - 161; 之所以用unsigned char类型,是因为char是一个字节,如果用unsigend int,因为int是4个字节的,所以会造成扩展,导致错误。 对于GBK编码,设输入的汉字为GBKword,则可以采用公式 index=(ch1-0x
《专升本计算机考试汉字编码问题》由会员diand****sheng分享,可在线阅读,更多相关《专升本计算机考试汉字编码问题》请在金锄头文库上搜索。
特种作业(电工)安全技术实际操作考试标准和实操考试点设备配备标准
道路运输企业主要负责人和安全生产管理人员安全考核题型
特种作业(电工)安全技术实际操作考试标准和实操考试点设备配备标准
全国执业兽医师资格考试 《兽医临床诊断学》
专升本计算机考试汉字编码问题
最新中考数学第二轮复习(全套)精讲精练(精华版)
最新初中数学常用解题方法总结(精华版)
省示范幼儿园托班健康教案《认识身体的左右》
省示范幼儿园托班健康教案《快乐的跳跳虫》
省示范幼儿园托班健康教案《快乐的跳跳1》
省示范幼儿园托班健康教案《爱护小手》
省示范幼儿园托班健康教案《看谁能捉住1》
省示范幼儿园托班健康教案《看谁能捉住我》
省示范幼儿园托班健康教案《滚滚棒》
省示范幼儿园托班健康教案《清洁宝宝》
省示范幼儿园托班健康教案《魔术香蕉》
省示范幼儿园托班健康教案《爱护小1》
省示范幼儿园托班健康教案《给小鱼穿衣》
最新数学_知识点按章节汇总(精华版)
最新中考数学易错题选练(精华版)
2023-11-23 31页
2023-11-23 4页
2023-11-24 4页
2023-11-23 8页
2023-11-23 4页
2023-11-24 3页
2023-11-23 5页
2023-10-25 4页
2023-10-25 4页
2023-10-25 3页