ASCII - 代码点与字符编码

2024-05-01

我发现一篇有趣的文章“字符代码问题教程”(http://jkorpela.fi/chars.html#code http://jkorpela.fi/chars.html#code)解释了术语“字符代码”/“代码点”和“字符编码”。

前者只是分配给一个字符的整数。例如 65 到字符 A。字符编码定义了如何通过一个或多个字节表示这样的代码点。

对于古老的 ASCII,作者说道:“ASCII 标准指定的字符编码非常简单,对于代码编号不超过 255 的任何字符代码来说,最明显的一个是:每个代码编号都表示为一个八位位组,其中相同的值。”

因此,A 的代码点 65 将被编码为 0100 0001。

因为我有 127 个 ASCII 字符,所以有 127 个代码点,其中每个代码点始终由一个字节编码。

如果我总结一下,我有以下步骤来对 ASCII 字符进行编码:

  1. 为每个字符分配一个数字(代码点)(例如 A->65)
  2. 使用具有相同值的字节对字符进行编码(例如 0100 0001)

所以对于字母 A 和 B 来说是

A -> 65 -> 0100 0001 乙 -> 66 -> 0100 0010

我的问题是:

为什么代码点和 ASCII 编码要分离? ASCII 只有一种编码。因此,至少对于 ASCII,我不清楚为什么要完成中间步骤(映射到整数)。直接编码如

一个-> 0100 0001 乙 -> 0100 0010

也可能吗?如果我对一个 ASCII 字符有多种编码,那么分离是合理的,但只有一种编码形式对我来说没有意义。


你说得对。每个概念不一定需要特定编码的可辨别的实现。但是,在一般讨论字符集和编码时,最好区分所有概念。

实际上,您可以认为 ASCII 有两种编码,一种是 7 位,一种是 8 位。 7 位与在字节的第 8 位具有奇偶校验位的方案一起使用。 Unicode 以其多种编码而闻名,包括 UTF-8、UTF-16 和 UTF-32。

缺少术语:代码单元。编码将代码点映射到代码单元序列。代码单元是固定大小的整数。您可能知道,大于 8 位的整数具有字节顺序(也称为字节序)。这导致 UTF-16 和 UTF-32 具有大端和小端变体。


计算机化文本的基本规则:使用写入文件或流的编码进行读取。表示文本的字节必须伴有编码知识,编码知识来自声明、标准、约定、规范……。


ASCII 中有 128 个代码点。大多数时候提到 ASCII 是不正确的。请求说明 ASCII 的规范或进行更正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASCII - 代码点与字符编码 的相关文章

随机推荐

  • 如何循环用户输入直到输入整数?

    我想运行一个交互式程序 提示用户输入学生人数 如果用户输入除整数之外的字母或其他字符 则应再次询问他们 输入学生人数 我有以下代码 public int createArrays Scanner s int size System out
  • Neo4j 的 Cypher 查询语言是开源的吗?

    Neo4j的语言Cypher的现状如何 我真的很喜欢它 但我想避免 Neo4j 锁定 是否还有像 Gremlin 中那样的其他 Cypher 界面 Regards Cypher 完全是 OSS 请参阅https github com neo
  • 如何使用 Perl 从纯文本中提取 URL?

    我需要 Perl 正则表达式来解析纯文本输入并将所有链接转换为有效的 HTML HREF 链接 我已经尝试了在网上找到的 10 个不同版本 但没有一个可以正常工作 我还测试了 StackOverflow 上发布的其他解决方案 但似乎都不起作
  • 带有 dplyr::do 的匿名函数 - 使用 rle 的结果来过滤数据

    我有按主题 id 分组的时间序列数据 这些数据保留在某个 站点 上 并且在每个 时间 步骤中都有某个 阶段 有时受试者从一个站点切换到另一个站点 并且可能会再次返回 如果个人更换站点来回 例如 从站点 a 到站点 b 然后返回站点 a an
  • 比较两个序列是否相等

    在因其标题而将其标记为重复之前 请考虑以下简短程序 static void Main var expected new List
  • Google 文档自动保存如何工作?

    好吧 我知道这听起来很普通 但我指的是 AJAX 级别 我尝试过使用 Firebug 来跟踪 NET 连接和帖子 但这是一个谜 有谁知道他们如何在不破坏网络 浏览器的情况下不断进行即时自动保存 我的猜测 这只是一个猜测 是谷歌使用推送服务
  • try/catch 块中的完整代码

    我想知道 这是一个good practice放置complete code里面一个try block或者我应该放置only the code which I feel it will cause a specific exception 我
  • 为什么 Linux TAP 设备不处理 ARP 或 ICMPv6 数据包

    我正在使用以下命令打开 TAP 设备 p gt fd open dev net tun O RDWR skipping error handling code ifr ifr flags IFF TAP IFF ONE QUEUE IFF
  • 如何交叉引用 Sphinx 中 autodoc 生成的函数?

    我正在使用Sphinx autodoc根据我的 Python 库的文档字符串生成文档的功能 找到交叉引用的语法here http sphinx doc org markup inline html ref role 该部分之前必须有一个标签
  • sed 仅在特定字符模式之间用空格替换破折号

    我有这样的行 ORIGINAL sometext1 sometext2 word A12 B34 C56 sometext3 sometext4 sometext5 sometext6 word A123 B45 C67 sometext7
  • Celery:有没有办法编写自定义 JSON 编码器/解码器?

    我有一些对象想要发送到我的应用程序上的 celery 任务 这些对象显然不能使用默认的 json 库进行 json 序列化 有没有办法让 celery 使用自定义 JSON 序列化 反序列化这些对象Encoder Decoder 这里有点晚
  • 为什么Java禁止内部接口的继承?

    IE 为什么以下 循环依赖 不可能 public class Something implements Behavior public interface Behavior 由于接口不引用外部类 因此应该允许这样做 然而 编译器强迫我在类之
  • 有没有办法使用无服务器框架来验证路径

    我在后端使用无服务器框架 使用AWS 我的 serverless yml 像这样 functions getBrand handler functions brand getBrand handler events http path se
  • Rails:基于关联值的ActiveRecord查询

    我有 2 个型号 Report and Server具有belongs to 和has many 关系 我使用创建了一个访问器方法delegate这允许Report来查找其关联的Server company id 现在 我想运行一个查询Re
  • ASP.Net Web Api 未在 POST 上绑定模型

    我正在尝试将 JSON 数据发布到 Web Api 方法 但 JSON 数据未绑定到模型 这是我的模型 DataContract public class RegisterDataModel DataMember IsRequired tr
  • 在 VB.NET 中对对象列表进行排序

    我有一个乘客 对象 列表 它具有不同的属性 passenger name passenger age passenger surname 我想按年龄标准对这个列表进行排序 我该怎么做 我知道在整数 字符串列表中 List Sort 有效 但
  • 在一个 Servlet 中同时处理

    我有一个 Servlet 它接收请求 必须处理 5 个任务 从外部服务器获取数据 并将所有数据发送回订购的客户端 如何同时处理5个任务并在5个任务全部完成后继续执行servlet代码 您可以使用CoundDownLatch http doc
  • Java 双epsilon

    我目前需要一个epsilon http en wikipedia org wiki Machine epsilon类型的double 首选 java 库中的常量 而不是自己的实现 定义 据我所知Double has MIN VALUE an
  • 如何在 C# 日期时间选择器中设置最大时间和最小时间

    我在 C Windows 窗体应用程序中使用日期时间选择器 如何设置最短时间和最长时间 我有一个字符串 07 52 22 我想将其设置为最大或最短时间 我怎样才能做到这一点 DatetimePicker MinDate TimeOfDay
  • ASCII - 代码点与字符编码

    我发现一篇有趣的文章 字符代码问题教程 http jkorpela fi chars html code http jkorpela fi chars html code 解释了术语 字符代码 代码点 和 字符编码 前者只是分配给一个字符的