📜  不同类型的编码方案来表示数据

📅  最后修改于: 2022-05-13 01:57:05.841000             🧑  作者: Mango

不同类型的编码方案来表示数据

任何基于文本的数据都由计算机以位(一系列 1 和 0)的形式存储,并遵循指定的编码方案。编码方案是一个标准,它告诉用户的机器哪个字符代表哪个字节集。指定使用的编码方案非常重要,因为没有它,机器可能会将给定的字节解释为与预期不同的字符。
例如: 0x6B 在 ASCII 中可能被解释为字符“k”,但在不太常用的 EBCDIC 编码方案中被解释为字符“,”。

  • ASCII(美国信息交换标准代码): ASCII 可能被认为是使用最广泛的编码方案。 ASCII 由美国标准协会开发,于 1963 年作为 ASA X3.4-1963 引入。它有 128 个字符的定义 - 0x00 到 0x7f,由 7 位表示。
    在 ASCII 格式 -
    CharactersDecimalHexadecimal
    0-948-5730-39
    A-Z65-9041-5A
    a-z97-12261-7A

    十六进制的其余部分用其他特殊字符和标点符号填充。

  • UTF-32(Unicode 转换格式 32 位): UTF-32 是一种使用 4 个字节来表示一个字符的编码方案。它是一种定长方案,即每个字符总是用 4 个字节表示。它用于表示 Unicode 的所有 1、112、064 码点。
    由于该方案的空间要求较大,后来开发的更高效的方案使其过时。
  • UTF-16(Unicode 转换格式 16 位): UTF-32 是一种编码方案,使用 2 或 4 个字节来表示一个字符。它可以表示 Unicode 的所有 1、112、064 码位。
  • UTF-8(Unicode Transformation Format 8-bit): UTF-8 于 1993 年推出,是一种编码方案,要求每个字符至少用 1 个字节表示。它可以代表所有 Unicode 的代码点。
    UTF-8 是 ASCII 的超集,前 128 个字符,从 0x00 到 0x7f,与 ASCII 相同。因此,这种 UTF 方案与 ASCII 反向兼容。
    它是一种可变长度编码,用 1、2、3 或 4 个字节来表示一个字符。
    为了指示两个(或多个)连续字节是同一字符的一部分,或者表示两个不同的字符,每个字节的前几位用作指示符。

  • ISCII(Indian Script Code for Information Interchange):它是一种编码方案,可以容纳各种印度字符。它是一个 8 位方案。
    前 128 个字符与 ASCII 相同,仅使用下一个 128 位空间来表示 ISPII 特定字符。