Character encoding 什么是代码点和代码空间?

Character encoding 什么是代码点和代码空间?,character-encoding,character,ascii,Character Encoding,Character,Ascii,我正在阅读维基百科关于代码点的文章,但不确定我是否理解正确 例如,字符编码方案ASCII包括128个代码 在0hex到7Fhex范围内的点 那么0hex是一个代码点吗 在代码空间中也找不到任何内容 注:如果是重复的,请在评论中发布一个链接,我将删除这个问题。代码点是指特定编码字符集中单个元素/字符的数字代码,这句话意味着ASCII有128个可能的符号(其中只有一部分是可打印的字符)其中每一个都有一个相关的数字代码,通过它可以识别/寻址,即代码点 关于另一种措辞,请查看,这也引入了代码单元的概念:

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

例如,字符编码方案ASCII包括128个代码 在0hex到7Fhex范围内的点

那么0hex是一个代码点吗

在代码空间中也找不到任何内容

注:如果是重复的,请在评论中发布一个链接,我将删除这个问题。

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

关于另一种措辞,请查看,这也引入了代码单元的概念:)


给你一个真实世界的代码点的例子,考虑Unicode字符,它的代码点(Unicode语法<代码> U+<代码点在十六进制> <代码>)是“代码> U+ 2603 .< /P> < P>比传统的、预Unicode概念略微抽象。

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

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


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

更清楚的例子是Unicode,其中代码点没有特定的字节表示,它们只是介于0和某个非常大的数字之间(是的,我太懒了,不想查看限制)。有趣的不是数字,而是它们的含义(例如,32dec/20hex的意思是空格)。那么20hex是一个代码点?@VeganSv是的。你应该将“编码”改为“字符集”,以减少对编码的具体含义的混淆,将代码点映射到字节。我仍然不明白,我读了维基百科的文章,但不理解它(我的意思是在Unicode中它们是数字,但在其他系统中它们不是…),这就是为什么我在这里问,一些真实的例子会有帮助,因为它听起来都是理论性的。也许我应该研究其他来源。无论如何,谢谢。@TomBlodget 100%同意。@VeganSv现在应该对这个例子更清楚了。