首页 > 其他分享 >字符编码发展史1 — ASCII和EASCII

字符编码发展史1 — ASCII和EASCII

时间:2024-09-16 22:12:57浏览次数:10  
标签:字符 编码 EASCII 字符集 2.1 ASCII

1. 字符集与字符编码

1.1. 字符集

字符集(Charcater Set或Charset): 是一个系统支持的所有抽象字符的集合,也就是一系列字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。常见的字符集有:ASCII字符集、GB2312字符集(主要用于处理中文汉字)、GBK字符集(主要用于处理中文汉字)、Unicode字符集等。

1.2. 字符编码

字符编码(Character Encoding): 是一套法则,使用该法则能够对自然语言使用的字符集(如字母表或音节表),与计算机能识别的二进制数字进行配对。即它能在符号集合与数字系统之间建立对应关系,是信息处理的一项基本技术。通常人们用符号集合(一般情况下就是文字)来表达信息,而计算机系统则是以二进制的数字来存储和处理信息的。字符编码就是将符号转换为计算机能识别的二进制编码。

1.3. 两者的关系

一般一个字符集等同于一种编码方式,如ASCII、GB2312、GBK等。一般我们说一种编码都是针对某一特定的字符集。

一个字符集上也可以有多种编码方式,如Unicode字符集有UTF-8、UTF-16、UTF-32等编码方式。所以字符集字符编码是一对一或一对多的关系。

file

一句话表示:

  • 字符集: 是要表达的所有字符的集合。
  • 字符编码: 是将字符集里每一个字符与二进制数据进行一一映射的的规则和机制。

2. 字符编码的发展历史

从计算机字符编码的发展历史来看,大概经历了三个阶段:

  • 第一个阶段: ASCII编码
  • 第二个阶段: 字符编码本地化——ANSI系列编码
  • 第三个阶段: 字符编码国际化——Unicode字符集和Unicode编码

2.1. 第一个阶段 ASCII编码

第一个阶段:ASCII字符集和ASCII编码。

2.1.1. ASCII

计算机最早诞生于美国,刚开始计算机只支持英语(即拉丁字符),其它语言不能够在计算机上存储和显示。ASCII用一个字节(Byte)的7位(bit)表示一个字符,第一位(即最高位)置0,低7位用来编码字符集,共能表达2^7(即128)个字符。

ASCII的这种编码方式即为ASCII编码,ASCII编码的字符集即为ASCII字符集ASCII字符集包含的内容有:26个小英文字母、26个大英文字母、英文标点符号,10个阿拉伯数字、以及非打印的(不能显示)控制符号。

file
图1 ASCII编码表

2.1.2. EASCII

用ASCII码表达英语基本上没什么问题,但是当英语中包含一些外来词(如naïve、café、élite等)时,ASCII码就没有办法表达了,所有重音符号都不得不去掉。

后来为了表示更多的欧洲常用字符又对ASCII进行了扩展,于是有了EASCII(Extended ASCII),EASCII用8位表示一个字符,使它能多表示128个字符,支持了部分西欧字符。

file
图2 扩展ASCII编码表

至此,ASCII + EASCII能表达256(2^8)个字符,基本能满足英语国家和欧洲部分国家的需求。

注意: EASCII码目前几乎不再使用了,很早就被废弃掉了,被更先进的ISO/IEC 8859-N字符编码方案替代了。

未完待续…… 欲知后事如何,请看下回分解。

下回预告:字符编码发展史2 — IOS 8859-N。


大家好,我是陌尘。

IT从业10年+, 北漂过也深漂过,目前暂定居于杭州,未来不知还会飘向何方。

搞了8年C++,也干过2年前端;用Python写过书,也玩过一点PHP,未来还会折腾更多东西,不死不休。

感谢大家的关注,期待与你一起成长。



【SunLogging】 扫码二维码,关注微信公众号,阅读更多精彩内容

标签:字符,编码,EASCII,字符集,2.1,ASCII
From: https://www.cnblogs.com/luoweifu/p/18416694

相关文章

  • ASCII字符和中文字符的显示
    目录前言ASCII字符的点阵显示获取点阵描点main中文字符的点阵显示指定编码格式汉字区位码汉字点阵显示实验打开汉字库文件编写显示汉字的函数使用lcd_put_chinese函数前言        板子为韦东山老师的imx6ull板,要在LCD上实现字符的显示,要先实现我之前......
  • 20240917_213927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码f=input("请输入一个单词:")print("{}".format("____________"))print("____________".format(f))......
  • 20240917_223927 python 编码小题
    需求提示#在____________上补充代码#不要修改其他代码defvfun(x,b):____________:x+=____________returnxlc=____________print(vfun(10,lc))......
  • [Python学习日记-23] Python v2 和 v3 中的字符编码
    简介    在Python中的字符编码(上)和Python中的字符编码(下)中学习了字符编码的理论知识那么就,我们把目光回到Python当中,下面我们来讲述一下Python2和Python3之间的一些关于编码的差别。Python2vsPython3的编码一、Python2    Python出来时还没有......
  • Verilog - ASCII码与16进制相互转换(Task语句,多个ASCII码转换)
    编程思想:1.使用case语句,将Ascii码与Hex对应关系连接;2.使用Task语句将Ascii码转Hex作为一个任务3.调用Task语句,将8bit Ascii码转换为4bitHex数据4.将n个8bitASCII转为n个4bitHex数据进行数据拼接,输出n*4bitHEX数据moduleascii_to_hex(input......
  • Python--编码解码报错
    报错问题错误信息UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xacinposition2:illegalmultibytesequence通常出现在尝试使用GBK编码解码某些二进制数据时,但数据中包含了无法被GBK解码的字符。具体错误提示是解码器在处理某个字节时发现该字节无法正确映......
  • 深度学习自编码器 - 正则自编码器篇
    序言深度学习领域中,自编码器(Autoencoder\text{Autoencoder}Autoencoder)作为一种无监督学习技术,凭借其独特的结构在数据降维、特征提取、异常检测及数据去噪等方面展现出......
  • Arduino ESP32 oled显示,增量式编码器测距程序
      ESP3214引脚接编码器A,13引脚接编码器B,21、22为I2C默认引脚,程序根据编码器A触发ESP32的22脚中断,然后判断编码器B在ESP32的21脚状态是高电平还是低电平,来决定编码器是正转还是反转,也就是数值应该加还是减。   程序设计为编码器转一圈为1000个脉冲也就是编码器分辨率......
  • 【CTF MISC】XCTF GFSJ1086 [简单] 简单的base编码 Writeup(Base64编码+循环解码+Base9
    [简单]简单的base编码你懂base编码吗?工具在线BASE92编码解码:https://ctf.bugku.com/tool/base92解法Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTVjAxV2JETlhhMUpUVmpBeFYySkVUbGhoTVVwVVZtcEJlRll5U2tWVWJHaG9UVlZ3VlZadGNFSmxSbGw1VTJ0V1ZXSkhhRzlVVmxaM1ZsW......
  • 通义灵码获得国产 AI 编码工具最高成绩丨阿里云云原生 8 月产品月报
    云原生月度动态云原生是企业数字创新的最短路径。《阿里云云原生每月动态》,从趋势热点、产品新功能、服务客户、开源与开发者动态等方面,为企业提供数字化的路径与指南。趋势热点......