You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

控制序列在各类编码中数值是否统一?解析器开发技术问询

关于ASCII控制字符在不同编码中的数值一致性

你观察到的Ctrl-Z对应十进制26(十六进制0x1A)是对的,而且所有ASCII控制字符(0x00-0x1F区间)在latin1、utf8、windows-1252这些编码里,数值编号完全一致,原因如下:

  • ASCII控制字符的定义是0x00到0x1F的字节值,Ctrl-Z是其中的0x1A,这是所有兼容ASCII的编码的基础约定。
  • Latin1(ISO-8859-1):直接完整映射ASCII的0x00-0xFF字节范围,0x1A的数值和含义完全保留。
  • Windows-1252:作为Latin1的扩展,0x00-0x7F区间和ASCII完全一致,0x1A自然保持原数值不变。
  • UTF-8:对于ASCII范围内的字符(0x00-0x7F),采用单字节编码,字节值和ASCII完全相同,所以0x1A在UTF-8中就是单字节0x1A,和其他编码无差异。

需要注意的是,只有当字符超出ASCII范围(0x80及以上)时,不同编码才会出现数值映射的差异,但你关注的控制字符都在ASCII核心区间内,所以不用考虑编码差异对其数值的影响。

内容的提问来源于stack exchange,提问作者user12582392

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:55:21