📜  什么是字符编码系统?

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

什么是字符编码系统?

众所周知,计算机不理解英文字母、除 0 和 1 以外的数字或文字符号。我们使用编码来转换这些。因此,编码是将一系列字符(即字母、数字、标点和符号)转换为特殊或唯一格式以便在计算机中传输或存储的方法或过程。数据在计算机中使用 ASCII、UTF8、UTF32、ISCII 和 Unicode 编码方案表示。所有类型的数据,包括数字、文本、照片、音频和视频文件,都可以由计算机处理。例如,65 表示为 A,因为标准编码方案为所有字符、符号、数字分配了一些唯一代码。下面介绍一些常用的编码方案:

1. ASCII: ASCII被称为 美国标准信息交换码。 X3 小组是 ASA 的一部分,于 1963 年首次制作并发布了 ASCII。(美国标准协会)。 ASCII 标准于 1963 年作为 ASA X3.4-1963 首次发布,并在 1967 年至 1986 年间进行了十次修订。ASCII 是一种 8 位代码标准,将 256 个插槽分为字母、数字和其他字符。 ASCII 十进制 (Dec) 数是使用二进制构建的,它是通用计算机语言。小写“h”字符(char)的十进制值为104,二进制为“01101000”。

ASCII 表分为三个部分。

  1. 不可打印,系统代码介于 0 到 31 之间。
  2. 较低的 ASCII,介于 32 和 127 之间。
  3. 更高的 ASCII,介于 128 和 255 之间。

字符的 ASCII 表:

LetterASCII CodeLetterASCII Code
a     97A65
b       98B66
c   99C67
d      100D68
e     101E69
f     102F70
g    103G71
h     104H72
i      105I73
j    106J74
k      107K75
l      108L76
m  109M77
n      110N78
o      111O79
p      112P80
q        113Q81
r      114R82
s      115S83
t      11684
u      117U85
v      118V86
w      119W87
x      120X88
y      121Y89
z      122Z90

2、ISCII: ISCII(Indian Script Code for Information Interchange)是Indian Script Code for Information Interchange的缩写。 ISCII 是一种编码方法,可用于对各种印度语言进行编码,包括书面和口头。为了简化跨多个书写系统的音译,ISCII 采用了单一编码机制。

ISCII 由印度标准局 (BIS) 于 1991 年成立。它的字符数约为 256,并采用 8 位编码技术。从 0 到 127,前 128 个字符与 ASCII 中的相同。以下字符,范围从 128 到 255,代表印度文字中的字符。

优点包括:

  1. 绝大多数印度语言都在其中体现。
  2. 字符集简单明了。
  3. 可以轻松地在语言之间进行音译。

缺点包括:

  1. 需要带有 ISPII字符键的特殊键盘。
  2. 因为 Unicode 是后来创建的,而 Unicode 包含 ISCII字符,所以 ISCII 已经过时了。ISCII(Indian Script Code for Information Interchange)是 Indian Script Code for Information Interchange。
  3. ISCII 是一种编码方法,可以对各种印度语言进行编码,包括书面和口头。为了简化跨多个书写系统的音译,ISCII 采用了单一编码机制。

3. Unicode: Unicode字符在计算机系统中被翻译并存储为处理器可以处理的数字(位序列)。在 Unicode 中,代码页是一种将一组位转换为字符表示的编码系统。在 Unicode 之前,数百种不同的编码技术为地球上的每个字母或字符分配了一个数字。其中许多方法使用的代码页只有 256 个字符,每个都需要 8 位存储空间。

  1. Unicode 支持为多个平台、语言和国家/地区创建单个软件产品或网站(无需重新设计),与旧字符集相比可显着节省成本。
  2. 可以在各种系统中使用 Unicode 数据而不会产生数据损坏。
  3. Unicode 是一种通用编码技术,可用于对任何语言或字母进行编码,而与设备、操作系统或软件无关。
  4. Unicode 是一种字符编码标准,允许您在多个字符编码系统之间进行转换。因为 Unicode 是所有其他主要字符编码系统的超集,所以您可以从一种编码方案转换为 Unicode,然后从 Unicode 转换为另一种编码方案。
  5. 最广泛使用的编码是Unicode。
  6. 定义通用字符集字符编码的 ISO/IEC 10646 的适用版本与 Unicode 标准版本完全兼容和同步。或者我们可以说它包含 96,447 个字符代码,足以解码世界上存在的任何字符符号。

4. UTF-8:它是一种宽度可变的字符编码,用于电子通信。使用一到四个一字节(8 位)代码单元,它可以编码所有 1,112,064[nb 1] 个有效的 Unicode字符代码点。具有较低数值的代码点使用较少的字节进行编码,因为它们出现的频率更高。创建时,创建者确保此编码方案与 ASCII 兼容,并且与 ASCII 一对一的前 128 个 Unicode字符使用与 ASCII 具有相同二进制值的单个字节进行编码,并确保 ASCII 文本也是有效的 UTF-8 编码的 Unicode。

将符号转换为二进制:

CharacterASCIIByte
A              651000001
a           971100001
B                 661000010
b                    981100010
Z                 901011010
0                   48110000
9                   57111001
!    33100001
?    63111111

5. UTF-32: UTF-32 被称为 32 位 Unicode 转换格式。它是一种固定长度编码,使用每个代码 32 位对 Unicode 代码点进行编码。它每个字符使用 4 个字节,我们可以简单地通过计算字节数来计算 UTF-32字符串中的字符数。使用 UTF-32 的主要优点是可以直接索引 Unicode 码位(虽然一般的字母,例如“字素簇”或某些表情符号,不能直接索引,因此确定字符串的显示宽度比较复杂) .恒定时间操作是在代码点序列中找到第 N 个代码点。另一方面,可变长度代码需要顺序访问以定位一行中的第 N 个代码点。因此,UTF-32 是 ASCII 代码的直接替代品,它使用加一的数字检查字符串中的每个问题。