加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_沈阳站长网 (https://www.024zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux的国家代 码,Linux系统下编码(一)

发布时间:2022-12-10 11:35:21 所属栏目:Linux 来源:
导读:  字符编码小结

  一,Unicode编码

  Unicode编码是一个字符的二进制字符集代码,却没有规定二进制代码如何存储。

  UTF-8编码(UTF-8是Unicode编码的一种实现方式之一)

  (1)特点:是一种
  字符编码小结
 
  一,Unicode编码
 
  Unicode编码是一个字符的二进制字符集代码,却没有规定二进制代码如何存储。
 
  UTF-8编码(UTF-8是Unicode编码的一种实现方式之一)
 
  (1)特点:是一种变成编码方式(根据不同的字符变化字节长度),可以使用1~4个字节表示一个字符。
 
  (2)编码规则
 
  A.
 
  对于单字节的符号,字节的第一位设为0,后面7位为这个符号的Unicode编码。(对于英文字母UTF-8和ASCII编码是相同的)。
 
  B.
 
  对于n个字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位均设为10.其余的二进制位全部为此字符的Unicode码。
 
  Unicode字符范围(十六进制)
 
  UTF-8编码方式(二进制)
 
  0000 0000-0000 007F
 
  0XXX XXXX
 
  0000 0080-0000 07FF
 
  110XXXXX 10XXXXXX
 
  0000 0800-0000 FFFF
 
  1110XXXX 10XXXXXX 10XXXXXX
 
  0001 0000-0010 FFFF
 
  11110XXX 10XXXXXX 10XXXXXX 10XXXXXX
 
  例子:汉字“严”字。
 
  第一步:查找“严”字的Unicode编码()即:4E25。
 
  第二步:将其转换成二进制(0100 1110 0010 0101)。
 
  第三步:确定Unicode所在的范围(根据上表),为范围三。
 
  第四步:转换(如下表)
 
  Unicode(二进制)
 
  0100 1110 0010 0101
 
  UTF-8范围(二进制)
 
  1110XXXX 10XXXXXX 10XXXXXX
 
  Unicode(二进制调续)
 
  (DEL)0100 111000 100101
 
  最后结果
 
  11100100 10111000 10100101
 
  最后结果(十六进制)
 
  E4B8A5H
 
  二linux编码,Unicode存储
 
  1.采用(UCS-2)格式直接存储(用两个字节存储)。
 
  2.Little endian指的是小的在前;Big
 
  endian指的是大的在前。
 
  例如:4E25H:4E在前;25在后——Little endian
 
  4E25H:25在前;4E在后——Big endian
 
  3.规定:(Unicode存储)——每一个文件最前面分别加入一个编码顺序的字符,个字符的名字叫做“零宽度非换行空格(ZERO WDITH
 
  NO-BREAK
 
  SPACE)”用FEFF表示(FF>FE)。如果一个文件的开头是FEFF,说明这个文件采用的是大头方式;反之,采用的小头方式
 
  三,ASCII(American Standard Code for Information
 
  Interchange)编码同GB2312的关系
 
  一个小于127的字符的意义与原来的相同(ASCII表),两个大于127的字符连接起来表示一个汉字,前面的一个字节(高字节:0xA1~0xF7),后面的一个字节为(低字节:0xA1~0xFE)。
 
  全角:ASCII表中小于127的字符用双字节表示。
 
  半角:ASCII表中小于127的字符用单字节表示。
 
  此时就得到了编码集——GB2312。(7000个汉字)。
 
  四,GBK编码(由于GB2312对于人名、古汉语等罕见用字处理不足的原因)
 
  第一个字节大于127就表示一个汉字的开始。(包括了GB2312的所有内容20000个新的汉字)。扩展了GB18030编码集。
 
  五,双字节字符集(DBCS——Double Byte Character Set)
 
  六,UCS编码
 
  俗称:UNICODE(Universal Multiple-Octet Coded Character
 
  Set)
 
  由(ISO——国际标准化组织)提出。
 
  规定:一律用两个字节16位统一表示字符,此时原有的ASCII半角只有低8位没有高8位,(解决:高8位用“0”补充)所以,此时一个汉字是一个字符,两个字节。
 
  “一个汉字算两个字节,一个汉字不再算两个英文字符。”
 
  七,UTF(UCS Transfer Format——Unicode传输格式)
 
  UTF-8:代表每次8位传输数据。
 
  UTF-16:代表每次16位传输数据。
 
  八,GB2312编码
 
  GB2312(或GB2312-80)简体中文字符集的中国国家标准,全称《信息交换用汉字编码字符集—基本集》。
 
  1.颁布单位:中国国家标准总局。
 
  2.颁布时间:1981年5月1日。
 
  3.适用地区:大陆、新加坡等。
 
  4.表示方式:分区表示(“分区”处理)。
 
  每个区有94个汉字/字符,(也称“区位码”)。
 
  01~09区——特殊字符;
 
  16~55区——一级汉字,按拼音排序;
 
  56~87区——二级汉字,按部首/笔画排序;
 
  10~15和88~94区未有编码。
 
  5.字节结构
 
  兼容ASCII编码,采用EUC存储方式。
 
  每个汉字用两个字节表示:第一个字节为“高位字节”;第二个字节为“低位字节”。
 
  ○“高位字节”使用了0xA1~0xF7(把01~87区的区号加上0xA0);
 
  ○“低位字节”使用了0xA1~0xFE(把01~94区的区号加上0xA0)。
 
  例子:
 
  “啊”字的存储方式,以0xB0A1存储【0xB0=0xA0+16;0xA1=0xA0+1】
 

(编辑:我爱制作网_沈阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!