字符编码 - 什么是代码点和代码空间



我正在阅读维基百科关于代码点的文章,但不确定我是否正确理解。

例如,字符编码方案ASCII包括128个代码 0十六进制到7F十六进制范围内的点

那么0hex是代码点吗?

在代码空间上也找不到任何东西。

附言。如果是重复的,请在评论中发布链接,我会删除这个问题。

码位是一种数字代码,它指的是特定编码字符集中的单个元素/字符,该句子意味着 ASCII 有 128 个可能的符号(其中只有一部分是可打印字符),每个符号都有一个相关的数字代码,通过该代码可以识别/寻址它,即码位

有关替代措辞,请查看Joel的这篇文章和Oracle的摘要,其中还介绍了代码单元的概念:)

为了给你一个真实世界的例子,什么是码位,考虑一下 unicode 字符雪人☃,它的码位(使用 unicode 语法 U+<code point in hex>)是 U+2603

这些概念比传统的 Unicode 前概念稍微抽象一些。

传统上,"代码空间"或多或少是"字符范围"的同义词。 7 位编码的代码空间为 0 到 127,8 位编码为 0 到 255,16 位编码为 0 到 65535。 Unicode 具有从 0 到 0x10FFFF 的代码空间,尽管代码空间的某些部分未填充。

传统上,"代码点"或多或少是"字符代码"的同义词。 Unicode 从单个"字符代码"映射中抽象出来,以强调一组字形和一组字符代码之间存在更复杂的关系,并且某些代码点(例如连接修饰符)不会对单个字形进行编码。 从表面上看,U+0020 仍然是与 ASCII SPACE 0x20相同的字符,但 Unicode 具有一组更丰富的明确定义的属性和关系。

Unicode必须为这些概念创造新的术语,以免传统术语的扩展含义超载。 "代码空间"是一个独特的、定义明确的概念,它与(隐式连续的,可能完全填充的)字符范围不完全相同。 "代码点"是一个独特的、定义明确的概念,它与"字符代码"(一开始甚至没有完全定义;它有多种模棱两可的解释)不完全相同。

相关内容

  • 没有找到相关文章

最新更新