300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ASCII ISO8859-1 GB2312 GBK GB18030 BIG5 UNICODE UTF-8 ANSI等字符集编码的讲解与特点

ASCII ISO8859-1 GB2312 GBK GB18030 BIG5 UNICODE UTF-8 ANSI等字符集编码的讲解与特点

时间:2022-04-02 09:57:11

相关推荐

ASCII ISO8859-1 GB2312 GBK GB18030 BIG5 UNICODE UTF-8 ANSI等字符集编码的讲解与特点

世界是不断进步的,有了新需求就会产生新的事物。首先我们要知道在程序中经常遇到一些关于乱码的问题,而产生乱码的原因就是因为计算机直接存储字符时要把字符转为二进制,这其中不同的转换规则就对应不同的编码方式,所以要不出现乱码就必须编码方式和解码方式要保持一致。(主讲解,我们一般不用理解太深)▪ ASCII:是一种使用7个或8个二进制位进行编码的方案(美国信息交换标准(代)码),最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值,ASCII码正是最早用来将127字符的编码到计算机里面的一套编码ASCII码划分为两个集合:128个字符的标准ASCII码和附加的128个字符的扩充和ASCII码。比较EBCDIC。其中95个字符可以显示。另外33个不可以显示。标准ASCII码为7位,扩充为8位。▪ ISO8859-1:ISO8859-1,又称latin-1或“西欧语言”,是国际标准化组织内iso/iec,是ASCII的扩充,可以编码一些较为生僻的拉丁字符;(8859的第一个8位字符集。它以ascii为基础,在空置的0xa0-0xff的范围内,加入192个字母及符号,藉以供使用变音符号的拉丁字母语言使用。这个默认编码是可以修改的,一般改成“gbk”或者“gb2312”);▪ GB2312:GB2312也是ANSI编码里的一种,对ANSI编码最初始的ASCII编码进行扩充,当计算机来到中国ISO8859-1就不够用了,为了满足国内在计算机中使用汉字的需要,中国国家标准总局发布了一系列的汉字字符集国家标准编码,统称为GB码,或国标码,几乎所有的中文系统和国际化的软件都支持GB2312。GB2312是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。其中汉字根据使用的频率分为两级。一级汉字3755个,二级汉字3008个。由于字符数量比较大,GB2312采用了二维矩阵编码法对所有字符进行编码;注意: GB2312字符在计算机中存储是以其区位码为基础的,其中汉字的区码和位码分别占一个存储单元,每个汉字占两个存储单元。由于区码和位码的取值范围都是在1-94之间,这样的范围同西文的存储表示冲突,会导致在解释编码时到底表示的是一个汉字还是两个西文字符将无法判断。▪ GBK:GB2312的扩充,把BIG5码的思想融入进来,既可以表示简体中文也可以表示繁体中文,GBK采用双字节表示,总体编码范围为8140-FEFE,首字节在81-FE之间,尾字节在40-FE之间,剔除xx7F一条线。总计23940个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003个,图形符号883个。P-Windows3.2和苹果OS以GB2312为基本汉字编码,Windows95/98则以GBK为基本汉字编码;▪ GB18030:GBK的扩充,可以表示少数民族的字符,现在的国标码;▪ BIG5:因为GB2312面向简体中文字符集,并不支持繁体汉字,而在台湾、香港与澳门地区,使用的是繁体中文字符集,所以台湾五大厂商宏碁、神通、佳佳、零壹以及大众一同制定了一种繁体中文编码方案,因其来源被称为五大码,英文写作Big5,后来按英文翻译回汉字后,普遍被称为大五码。大五码是一种繁体中文汉字字符集,其中繁体汉字13053个,808个标点符号、希腊字母及特殊符号。大五码的编码码表直接针对存储而设计,每个字符统一使用两个字节存储表示。第1字节范围81H-FEH,避开了同ASCII码的冲突,第2字节范围是40H-7EH和A1H-FEH。因为Big5的字符编码范围同GB2312字符的存储码范围存在冲突,所以在同一正文不能对两种字符集的字符同时支持;▪ UNICODE:因为世界上存在着多种编码方式,如果每个国家都来一套国标码,则编码不匹配现象就会十分麻烦,因为大家的项目编码不同的话一样遇到乱码的,所以最后有了Unicode编码。Unicode是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,“汉”这个字的Unicode编码是U+6C49。Unicode虽然统一了编码方式,但是它的效率不高,比如UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每个英文字母前都必然有三个字节是0,这对存储和传输来说都很耗资源;特点: “UNICODE 字符”与“转换出来的字节”之间的关系是人为规定的。UNICODE 编码能够处理所有的 UNICODE 字符。并且与转换出来的字节之间是可以通过计算得到。▪ UTF-8:为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。▪ ANSI: ANSI码即为美国国家标准学会的标准码。使用 2 个字节来代表一个字符的各种延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。 不同 ANSI 编码之间互不兼容。特点:ANSI 编码都只能处理各自语言范围之内的 UNICODE 字符。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。