《汉字的存储C语言.ppt》由会员分享,可在线阅读,更多相关《汉字的存储C语言.ppt(8页珍藏版)》请在三一办公上搜索。
1、汉字的存储,1236002 任丹,汉字的编码,输出,输入,存储,汉字的编码,输入码 汉字输人码也叫外码,都是由键盘上的字符和数字组成的。目前流行的编码方案有全拼输人法、双拼输入法、自然码输人法和五笔输人法等。,输入,汉字信息交换码 规定汉字与定长的一串二进制数之间的对应关系的方案。自国家标准 GB2312 80 公布以来,我国一直延用该标准所规定的国标码作为统一的汉字信息交换码。,Company Logo,汉字的编码,机内码 解决汉字和ASCII码冲突而将两字节最高位置1的解决方案。,汉字字型码 用于汉字在显示屏或打印机输出。汉字字型码通常有两种表示方式:点阵和矢量表示方法。,汉字的存储,英文
2、字母及符号用7位数码表示足矣。考虑二进制计数特点,一个符号用8位来表示,其最高位始终为0。B7 B6 B5 B4 B3 B2 B1 B0 0 x x x x x x x,GB2312规 定对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示,习惯上称第一个字节为高字节,第二个字节为低字节。每个字节的最高位为0,但如果就这样放入电脑,就会与一个字节的ASCII冲突。为此,规定放入机器时每个字节的最高位都置为1,这就是机内码。,汉字的存储,前导规则:通常简单地说,若某个char的高位为1,就表示那是双字节字符,此时必须将此char紧接的char一并处理,不能分割。,用char字符串输入
3、和输出汉字时 Length=n 2(汉字个数)+1(0),汉字的存储,计算输入年份的天干地支#include main()int a,b,year;char gz5;/*用来表示干支的字符变量*/*注意:下面两个语句中内的引号和逗号,不能为全角字符*/static char tg103=甲,乙,丙,丁,戊,己,庚,辛,壬,癸;static char dz123=子,丑,寅,卯,辰,巳,午,未,申,酉,戍,亥;printf(请输入一个年份:);scanf(%d,汉字的存储,GBK(国家标准GB2312基础上扩容后兼容GB2312的标准)编码:一个汉字占两个字节。UTF-16(Unicode TransformationFormat-16bit)编码:通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。UTF-8(Unicode TransformationFormat-8bit)编码:是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。,一个汉字所占字节要根据具体的字符集和操作系统来定,