带你读《全景揭秘字符编码》之七:七、常见字符编码1:ASCII

简介: 带你读《全景揭秘字符编码》之七:七、常见字符编码1:ASCII

七、常见字符编码1:ASCII


很久以前:计算机制造商都是按各自的方式来将字符渲染到屏幕上,当时的计算机动不动可就是一套房子的大小,这家伙可不是谁都能玩的起的,那时人们并不关心计算机如何交流。


随着上世纪七八十年代微处理器的出现,计算机变得越来越小,个人计算机开始进入大众的视线,随后出现了井喷式的发展,但是之前厂商都是各自为政,没考虑过自家的产品要兼容别人家的东西,导致在不同计算机体系间的数据转换变得十分蛋疼,因此美国的标准协会在1967年制定出了ASCII编码,到目前为止共定义了128个字符。


ASCII 编码:


(注意:该表是列表示字节高 4 位。上图引用自《字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8》)


其中:前 32 个(0~31)是不可见的控制字符,32~126 是可见字符,127 是 DELETE 命令(键盘上的 DEL 键)。


其实:早在ASCII之前,IBM在1963年也推出过一套字符编码系统EBCDIC,跟ASCII码一样囊括了控制字符、数字、常用标点、大小写英文字母。


EBCDIC 编码:


但是:他的字符编号并不是连续的,这给后续程序处理带来了麻烦,后来ASCII 编码吸取了 EBCDIC 的经验教训,给英文单词分配了连续的编码,方便程序处理,因此被后来广泛接受。


ASCII 和 EBCDIC 编码相比:除了字符连续排列之外,最大的优点是ASCII 只用了一个字节的低 7 位,最高位永远是 0。可别小看了这个最高位的 0,看似无足轻重,但这是ASCII设计最成功的地方,后面介绍各编码原理的时候你会发现,正是因为这个高位0,其它编码规范才能对 ASCII 码无缝兼容,使得 ASCII 被广泛接受。

相关文章
默认网关填了不能保存问题秒解
周末的休息,电脑也跟着一起休息了起来,晕晕乎乎了两天,没想到电脑也受到了感染,变成了中毒的状态,具体特征表现为:默认网关填写之后确定不能保存;当然电脑也就不能够通过网络与外网或者局域网通信了~
|
Java 中间件 API
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
【C/C++ 线程 】深入浅出:理解 std::thread 的局限性
628 2
|
存储 安全 关系型数据库
CentOS7 如何离线安装PostgreSQL数据库
如果CentOS所在的服务器限于安全原因,客户并未给我们配置访问外网的权限,那么如何安装PostgreSQL数据库呢?本文将通过具体步骤来详细讲解如何在CentOS7 系统上离线安装PostgreSQL12数据库。
4603 0
CentOS7 如何离线安装PostgreSQL数据库
|
11月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
571 58
|
12月前
|
机器学习/深度学习 人工智能 数据可视化
深度学习之可解释人工智能(Explainable AI,XAI)
可解释人工智能(XAI)是一个旨在使AI决策过程透明和可理解的研究领域。随着AI和机器学习技术在多个行业中的应用变得越来越广泛,其决策过程的透明度和可解释性变得极其重要。
495 0
|
JavaScript
Vue3渐变文字(GradientText)
该文档介绍了一个基于 Vue 的渐变文字组件 `GradientText`,允许用户通过配置参数实现不同样式和尺寸的文字渐变效果。支持自定义起始和结束颜色、渐变角度及多种预设类型(如 `primary`、`info` 等)。
335 0
Vue3渐变文字(GradientText)
|
开发者 C# Windows
WPF与游戏开发:当桌面应用遇见游戏梦想——利用Windows Presentation Foundation打造属于你的2D游戏世界,从环境搭建到代码实践全面解析新兴开发路径
【8月更文挑战第31天】随着游戏开发技术的进步,WPF作为.NET Framework的一部分,凭借其图形渲染能力和灵活的UI设计,成为桌面游戏开发的新选择。本文通过技术综述和示例代码,介绍如何利用WPF进行游戏开发。首先确保安装最新版Visual Studio并创建WPF项目。接着,通过XAML设计游戏界面,并在C#中实现游戏逻辑,如玩家控制和障碍物碰撞检测。示例展示了创建基本2D游戏的过程,包括角色移动和碰撞处理。通过本文,WPF开发者可更好地理解并应用游戏开发技术,创造吸引人的桌面游戏。
708 0
|
存储 安全 编译器
C/C++陷阱——临时变量的产生和特性
C/C++陷阱——临时变量的产生和特性
|
Java 数据库连接 Spring
【Spring事务底层实现原理】
【Spring事务底层实现原理】
217 0
|
JSON 数据格式 Python
WavJourney:进入音频故事情节生成世界的旅程
最近大型语言模型的出现风靡全球。现在,想象力是极限。今天,WavJourney可以自动化讲故事的艺术。给定一个提示,WavJourney 利用 LLM 的强大功能生成抓取的音频脚本,包括准确的故事情节、逼真的人声和引人入胜的背景音乐。
233 0