Command Palette

Search for a command to run...

ASCII 表:字符代码完整指南 (0 het255)

ASCII 表:字符代码完整指南 (0 het255)

T
Toolz Team
|Aug 23, 2026|15 最小读数

二进制和十六进制 合集的一部分

ASCII第一次真正对我很重要,我正在调试一个WordPress插件的CSV导入,该插件不断地将一个客户's地址分成两行。该文件在我打开的每个编辑器中看起来都很好。结果是一个导出使用裸车回车(代码13)作为行结尾,而我的解析器期望一个行源(代码10),并且一个杂散记录分隔符(代码30)从上游的一个大型机导出中悄悄进入。这些字符都不会打印任何内容。你看不到它们。只有当你有一个表将不可见的字节变成一个数字和一个名称时,你才能看到它们 - 这正是我构建的原因 ASCII 表 在 toolz。dev 上以及为什么我将其固定在浏览器选项卡中。

TL;博士: ASCII将每个基本的英文字符和一组控制信号映射到数字0 ac127;像ISO 8859-1(拉丁语-1)这样的扩展集填入128 ke255。Capital A 为 65,小写 a is 97,空格是32,而"不可见"代码0 arm31是控制字符,如选项卡(9),行馈送(10)和回车(13),如果你能读取表,你几乎可以解码任何文本编码错误,安全地在HTML中逃脱任何字符,并了解为什么UTF-8,JSON和每种编程语言都像对待字符串一样行事。

I've花了数年时间构建了在文本处理上生死存亡的东西- 一个WordPress管理插件,Laravel API,React前端- 我可以告诉你,ASCII的工作心理模型比几乎任何其他低级知识节省了更多的调试时间,本指南是希望有人早早递给我的版本。

ASCII是什么,为什么它仍然很重要?

ASCII代表信息交换的美国标准代码,它于1963年首次标准化,并结算为我们仍然使用的形式ANSI X3.4-1986(在国际上也以ISO/IEC 646发布),今天仍然引用的网络定义是 RFC 20 (1969)。它的核心是一个查找表:从数字0到127到一组特定的字符和控制信号的映射。七位,128个插槽,一个协议,整个计算世界可以共享。

1990年在Linux服务器上写的文本文件,到今天仍然在Mac笔记本电脑上正确打开的原因就是那个协议,在标准字符代码之前,每个制造商都有自己的方案,在机器之间移动文本是一个翻译问题,ASCII将较低的128个代码固定到位,此后就再也没有移动过。

Unicode- 涵盖表情符号、中文、阿拉伯文以及所有其他脚本的巨型标准- 刻意将其前 128 个码点与 ASCII 相同,而为网络提供动力的编码 UTF-8 将那些前 128 个码点编码为具有确切 ASCII 值的单个字节,因此一个普通的 ASCII 文本文件是 有效的 UTF-8 文件,字节换字节 当您了解 ASCII 时,您已经了解了其余文本编码的基础。

ASCII 表是如何组织的?

128个标准代码属于几个自然组,了解组通常比记住任何单个值更有用。

控制字符(0.31 和 127)。 这些是非打印代码。它们携带指令而不是字形:空(0)、铃(7)、后空(8)、水平选项卡(9)、换行(10)、回车(13)、转义(27)和删除(127)是您'll 真正遇到的。它们被设计为驱动电传打字机,它们的幽灵仍然运行从源文件中的行结尾到为终端输出着色的转义序列的所有内容。

可打印标点符号和符号(32,47,58,64,91,96,123,126)。 Space是32- 最低的可打印代码, 从技术上讲, 即使它什么也没显示, 打印字符, 其余的都是散落在你键盘周围的符号: ! 是33, @ 是64, ~ 是126。

数字(48-57)。 人物 0 通过 9 48到57坐在一个整齐的运行。那个排序是故意的:从一个数字中减去48's代码,你就得到了它的数值,这就是几乎每个"从字符串中解析一个数字"例程开始。

大写字母 (65 =90) 和小写字母 (97 =122)。 A 是65, Z 是90; a 是97, z is 122。字母's大写和小写形式之间的差距总是恰好是32。

扩展范围(128-255)是一种不同的动物,它's是大多数混乱的地方 - 所以它有自己的部分下面。

ascii和扩展ascii有什么区别?

标准 ASCII 只定义了 128 个代码,因为它只使用七位。但计算机以八位字节存储文本,这使得标准未使用整个额外的 128 个插槽(128 v255)。 "扩展 ASCII"是填充这些插槽的各种方案的总称。

Catch - 并且它's a big one - 是没有单一的扩展ASCII 不同的代码页分配上面的128个代码完全不同 IBM's代码页437在那里放画箱字符 Windows-1252在那里放卷曲引号和欧元符号 ISO/IEC 8859-1,被称为拉丁-1,在那里放有重音的西欧字母,值为233的字节是 é latin-1中,但完全在代码页437中还有其他东西。

Toolz。dev I上显示代码160 accord 160 accord 160 accord 1的ISO 8859-1(拉丁文-1)分配,因为它是一个真正的发布标准,它是原始HTML字符集的基础- 这意味着命名的HTML实体排列起来。拉丁文-1中的代码128 accord 159是第二块控制字符("C1"控件),因此该工具将它们标记为这样,而不是假装它们'可重新打印。

实践课:当有人说"扩展ASCII时,"总是问 哪个。不匹配的代码页是导致的经典原因 é mojibake 你看到当一个 UTF-8 文件读作拉丁文-1,或者当反面发生时缺失的字形框理解 数据隐私以及工具如何处理您的文本 是一大关注点;理解字节如何映射到字符是另一半,永远不会再对乱码文本感到惊讶。

为什么大写和小写相差 32?

ASCII设计中我最喜欢的一件,因为它's不是偶然的- 它's工程。选择布局是为了使字母's大写和小写形式仅在位5上不同,其值为32。 A 是 65(二进制) 01000001); a 是 97(二进制) 01100001)。唯一的区别就是那个单位。

That decision 意味着程序可以通过一个按位操作而不是查找表来更改大小写,要大写小写字母,请清除位 5 (code & ~32);要小写一个大写的,设置它(code | 32);要以任一方式交换大小写,请翻转它(code ^ 32)。在 Unicode 之前,数十年的字符串库都是基于该技巧构建的's 更复杂的案例规则使其对于任何超出普通 ASCII 的东西都不安全。当您浏览表格并注意到每个大写字母恰好位于其小写双胞胎下方 32 时,您're 看着 20 世纪 60 年代做出的仍然塑造软件编写方式的决定。

如何在字符、十进制、十六进制和二进制之间进行转换?

ASCII码每个都有四个常见的表示,在它们之间移动是低级工作的常规部分,这里's它们与字母的关系 H:

代表 价值 H 你'在哪里,就看见
角色 H 正常文本
十进制 72绔 涔诲芥澶澧 String.fromCharCode(72)chr(72)
十六进制 48绔 涔诲芥澶澧 六角形转储, \x48,URL/编码百分比
八进制 110绔 涔诲芥澶澧 较旧的 Unix 工具, \110 逃脱
二进制 01001000 按位操作、协议设计

Hex拼一个字,每对hex位取一个字节: 48 69 十进制为 72 105,即 Hi.反其道而行,查找每个字符's代码。的 ASCII 表 做两个方向 - 它显示每个代码的所有五列,并且其搜索框接受字符、十进制数、十六进制值(带或不带 a) 0x 缀(prefix),一个八进制或二进制字符串,甚至一个html实体名称,所以打字 &38、或者 amp 所有人都跳到安培数上。

如果您're 例行转换整个字符串或跨 ASCII 以外的数基工作,则 二进制翻译数值基数转换器 是我触及的伴随工具,ASCII表是参考;那两个是工作台。

ASCII控制字符实际上是干什么的?

非印刷代码 0,31(加上 127)感觉就像博物馆藏品,但其中有几件每天都在运行您的生活。

送线 (10) 和回车 (13) 是大的两个。在电传打字机上,回车将打印头移回左边距,行馈送将纸张推进一行 - 两个独立的物理操作。那个遗留问题就是为什么Windows文本文件以两者结束行的原因(CRLF的,13然后是10),而unix和macOS只使用行馈送(LF,10)。几乎每"为什么我的文件里都充满了 ^M characters?"的bug可以追溯到这次分裂,我从前奏中得到的csv灾难正是这样。

水平选项卡 (9) 是选项卡字符 - 一个编辑器渲染为多个空格的单个字节。 空 (0) C中终止字符串,并标记"无数据"无数格式。 逃脱(27) 介绍移动光标并为终端着色的控制序列。 钟(七) 曾经敲响真正的铃声;现在它会发出蜂鸣声或闪烁终端窗口。

一个好的表命名这些代码的原因很重要:当您发现数据中存在字节 27 时,"ESC - Escape"立即告诉您'正在查看终端控制序列,而不是损坏的文本。一个原始数字会让你猜测。

ASCII 与 HTML 实体和安全逃逸有何关系?

如果您为网络写作并构建 可靠的开发人员工具包 means you will - 少数 ASCII 字符需要转义,因此浏览器不&#39;t 将它们误读为标记。小于号 < (60),大于-比 > (62)、安培曲 & (38),以及双引号 " (34)是危险的四。在HTML内留原始它们可以破坏你的页面或打开一个注入孔;写成实体(&lt;&gt;&amp;&quot;)它们渲染为文字字符。

每个代码的形式中都有一个数字 HTML 实体 &#code;因此,即使没有命名实体的字符也始终可以安全地写入。ASCII 表列出了存在的命名实体和数字形式,然后单击 HTML 列将其直接复制到剪贴板。当您需要对整块标记进行编码或解码而不是查找单个字符时, HTML 实体 tool 处理批处理作业,对于我每天使用的编码实用程序进行更深入的游览,the 编码工具指南 走过整套。

ASCII 表和 Unicode 一样吗?

No,但是它们&#39;故意兼容,关系值得直截了当 Unicode是一个大得多的标准- 超过一百万个可能的代码点,涵盖了每个写入系统加上符号和表情符号 ASCII,它的128个代码是一个很小的子集,它们一起玩得很好的是,Unicode&#39;s前128个代码点被定义为与ASCII相同,而UTF-8将那些128精确地编码为单个字节,并带有它们的ASCII值。

果优雅:任何有效的ASCII文件自动是有效的UTF-8文件,你永远不必在两者之间转换纯英文文本,当你超越代码127的那一刻- 一个带重音字母,一个卷曲的引号,一个表情符号- 你把ASCII抛在身后,你&#39;牢牢地置身于多字节的Unicode领域,其中一个字符可能占据两个,三个或四个字节,toolz。dev ASCII表直接覆盖ASCII和Latin-1范围,其文本编码器报告你粘贴在其之外的任何字符的Unicode代码点,因此你可以准确地看到ASCII结束和Unicode接管的位置。

常见问题

什么是ASCII?

ASCII(美国信息交换标准代码)是一种字符编码标准,将字母、数字、标点和控制信号映射到数字 0–127。 它在 1963 年被标准化为 ANSI X3.4,并且仍然是现代文本编码的基础,包括 UTF-8,其前 128 个代码点与 ASCII 相同。

&quot;A&quot;的ASCII值是多少?

A&quot;大写字母&quot;有ASCII值65(十六进制41,八进制101,二进制01000001),小写&quot;a&quot;是97-恰好高出32-这就是为什么翻转位5在大写和小写之间切换字母的原因。

ascii和扩展ascii有什么区别?

标准 ASCII 使用 7 位并定义 128 个代码(0 val27)。 &quot;扩展 ASCII&quot;使用第八位添加另外 128 个重音字母、符号和画框字符的代码(128 和 255)。没有单个扩展 ASCII - 不同的代码页对上半部分的分配不同。此表显示了 ISO 8859-1(Latin-1)分配,这是 Latin-1 HTML 字符集的基础。

什么是 ASCII 控制字符?

代码 0–31 和 127 是携带指令而非可见字形的非打印控制字符。 常见的包括换行符 (10)、回车 (13)、水平制表符 (9)、转义 (27) 和空 (0)。 他们最初控制着电传打字机,今天仍然终止线路、划定字段和驱动终端转义序列。

如何将十六进制转换为 ASCII?

1对十六进制数字代表一个字节,它映射到一个ASCII码,十六进制48是十进制72,即&quot;H&quot;;十六进制69是105,即&quot;i&quot;-所以48 69个拼写&quot;Hi&quot;,用十六进制值(带或不带0x前缀)搜索ASCII表,可以立即找到匹配的字符。

为什么大写字母与小写在ASCII中有32个不同?

ASCII的布局使得字母&#39;s大写和小写形式之间的唯一区别是位5(值32)。&quot;A&quot;是65和&quot;a&quot;是97;&quot;Z&quot;是90和&quot;z&quot;是122。这种刻意的设计让程序通过单次按位操作而不是查找表来更改大小写。

ASCII 表和 Unicode 一样吗?

Unicode不相同,但兼容。Unicode是一个大得多的标准,涵盖了每个书写系统超过一百万个代码点。它的前128个代码点与ASCII相同,UTF-8将它们编码为单个字节,因此有效的ASCII文本也有效。ASCII表涵盖了ASCII和Latin-1范围;它的编码器为超出它们的字符报告Unicode代码点。

当我使用 ASCII 表时,我的文本是否私密?

是的。整个表是在普通 JavaScript 的浏览器中生成的,您粘贴到编码器中的任何文本都会在本地处理 - 它永远不会上传、记录或存储,并且一旦页面加载,该工具就可以在没有网络连接的情况下继续工作。


由[toolz。dev](/,WP 管理)的构建者 Liton 编写,以及一长串 Laravel 和 React 项目,所有这些项目迟早都会归结为正确获取字节。

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!