如果我需要 ASCII 格式的西里尔字符,这意味着我需要一个扩展的 ASCII 表,对吗?我想知道 cp-1251 是否是 ASCII 的扩展,如果不是,它被认为是什么。我对谷歌搜索有点困惑。在某些地方,他们说这是其他扩展中的代码页。
另外,如果我有代码为 206 的 cp-1251 字符 O,那么相同字符的 UTF-8 值将是 041E,对吗?
如果我需要 ASCII 格式的西里尔字符,这意味着我需要一个扩展的 ASCII 表,对吗?我想知道 cp-1251 是否是 ASCII 的扩展,如果不是,它被认为是什么。我对谷歌搜索有点困惑。在某些地方,他们说这是其他扩展中的代码页。
另外,如果我有代码为 206 的 cp-1251 字符 O,那么相同字符的 UTF-8 值将是 041E,对吗?
“扩展 ASCII”是一个模棱两可的术语。
US-ASCII 支持 128 个值(第 8 位保留)并且不支持任何 Cyrillic 代码点。Windows 1251的前半部分将代码点映射到相同的值范围。UTF-8 也是如此。因此,任何编码为 ASCII 的文档都是合法的 Windows 1252、Windows 1251、UTF-8、ISO-8859-1和一些其他编码。
4F
使用十六进制编辑器查看时,编码为 ASCII、Windows-1251 或 UTF-8 的 U+004F(拉丁文大写字母 O)将具有相同的八位字节值 ( )。
对于自然语言数据,大多数非 Unicode 编码应该被认为是过时的。
从技术上讲,ASCII 是一种 7 位格式,不包含西里尔字符。鉴于此,人们无法真正拥有真正的 ASCII 格式的西里尔字符。
CP-1251 是一种包含西里尔字符的 8 位编码。CP-1251 的前 128 个字符与 ASCII 相同,因此在这个意义上它是 ASCII 的扩展。然而,归根结底,CP-1251 只是一种字符编码,即字符和数值之间的映射。
Unicode 系列编码目前在现代国际化应用程序中具有最大的发展势头,其中 UTF-8 是最流行的,因为它对基本 ASCII 字符的紧凑表示。完全使用 Unicode 需要能够处理多字节字符,包括使用更复杂的算法来处理文本处理任务,例如排序、搜索和文本比较。
不幸的是,字符编码不再像 US-ASCII 为王时那样简单。当然,即使在那时,像 EBCDIC 这样的竞争对手也搅混了水。
一些可能有帮助的链接: