ASCⅡ码中,采用GB2312标准,怎么区分汉字和西文字符?
AB F4 D1 E3 78 C2 B7 55 中哪几个是西文字符,哪几个是中文字符?
注:答案上说是两个西文字符,三个中文字符,答案可能有误。
1、可以通过识别字符编码的长短实现。
由于英文字符只占一个位,而中文字符占两位,但是在国际字符编码标准unicode中,所有的文字都占两位,所以unicode中所有的英文数字第一个byte的值绝对是0x00,只要两个字节两个字节的读取,通过判断第一个字符是不是0x00就可以判断中文字符和英文字符。
但是请注意,unicode是有大端和小端编码之分的,两者字符识别的顺序刚好相反,所以请注意,使用小端编码的话0x00就会在前面,windows中都是使用的小段编码。还有在文本文件中,unicode是有dom头的,注意不要把文件头读进去。
2、根据每个字节转化为数字判断。
大家知道西文字符主要是指ASCII码,它用一个字节表示。且这个字符转换成数字之后,该数字是大于0的,而汉字是两个字节的,第一个字节的转化为数字之后应该是小于0的,因此可以根据每个字节转化为数字之后是否小于0,判断它是否是汉字。
扩展资料
在台湾、香港与澳门地区,使用的是繁体中文字符集。而1980年发布的GB2312面向简体中文字符集,并不支持繁体汉字。在这些使用繁体中文字符集的地区,一度出现过很多不同厂商提出的字符集编码,这些编码彼此互不兼容,造成了信息交流的困难。
为统一繁体字符集编码,1984年,台湾五大厂商宏碁、神通、佳佳、零壹以及大众一同制定了一种繁体中文编码方案,因其来源被称为五大码,英文写作Big5,后来按英文翻译回汉字后,普遍被称为大五码。
大五码是一种繁体中文汉字字符集,其中繁体汉字13053个,808个标点符号、希腊字母及特殊符号。大五码的编码码表直接针对存储而设计,每个字符统一使用两个字节存储表示。
第1字节范围81H-FEH,避开了同ASCII码的冲突,第2字节范围是40H-7EH和A1H-FEH。因为Big5的字符编码范围同GB2312字符的存储码范围存在冲突,所以在同一正文不能对两种字符集的字符同时支持。
可以通过识别字符编码的长短实现。
由于英文字符只占一个位,而中文字符占两位,但是在国际字符编码标准unicode中,所有的文字都占两位,所以unicode中所有的英文数字第一个byte的值绝对是0x00,只要两个字节两个字节的读取,通过判断第一个字符是不是0x00就可以判断中文字符和英文字符。
扩展资料:
在 ASCII 编码中,一个英文字母字符存储需要1个字节。在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。
在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。
参考资料来源:百度百科-字符编码
本回答被网友采纳1、可以通过识别字符编码的长短实现。
由于英文字符只占一个位,而中文字符占两位,但是在国际字符编码标准unicode中,所有的文字都占两位,所以unicode中所有的英文数字第一个byte的值绝对是0x00,只要两个字节两个字节的读取,通过判断第一个字符是不是0x00就可以判断中文字符和英文字符。
但是请注意,unicode是有大端和小端编码之分的,两者字符识别的顺序刚好相反,所以请注意,使用小端编码的话0x00就会在前面,一般windows中都是使用的小段编码。还有在文本文件中,unicode是有dom头的,注意不要把文件头读进去。
2、根据每个字节转化为数字判断。
大家知道西文字符主要是指ASCII码,它用一个字节表示。且这个字符转换成数字之后,该数字是大于0的,而汉字是两个字节的,第一个字节的转化为数字之后应该是小于0的,因此可以根据每个字节转化为数字之后是否小于0,判断它是否是汉字。
扩展资料:
ASCII码于1961年提出,用于在不同计算机硬件和软件系统中实现数据传输标准化,在大多数的小型机和全部的个人计算机都使用此码。ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。比较EBCDIC。其中95个字符可以显示。另外33个不可以显示。 标准ASCII码为7位,扩充为8位。
目前使用最广泛的西文字符集及其编码是 ASCII 字符集和 ASCII 码( ASCII 是 American Standard Code for Information Interchange 的缩写),它同时也被国际标准化组织( International Organization for Standardization, ISO )批准为国际标准。
基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。标准 ASCII 码使用 7 个二进位对字符进行编码,对应的 ISO 标准为 ISO646 标准。
参考资料来源:百度百科-字符编码