ASCII和Unicode

ASCII

一个字符编码系统,用于在计算机和其他设备中表示文本。

ASCII编码使用7位二进制数(即0到127,共128个)来表示大部分英文标点符号、数字和大小写字母。例如,大写字母“A”的ASCII编码是65,小写字母“a”的ASCII编码是97。

Unicode

又称万国符,Unicode仅仅是一个字符集,它为每个字符分配了一个唯一的编号,但却没有规定这些编号应当如何存储。

Unicode是字符集,而UTF-32、UTF-16、UTF-8是Unicode的一种编码方案(实现方式),旨在将码位转换成可以存储和传输的字节序列。

UTF-32(32-bit Unicode Transformation Format)是一种Unicode字符编码方案,它使用32位(4字节)来表示每个字符。存在浪费空间问题。

UTF-8是使用最广的Unicode编码策略

总之

1、要将一连串的字节翻译成人类理解的字位,首先必须要知道原始编码
2、Unicode中字位和字节不是一一对应

从ASCII到Unicode

ASCII编码主要支持英语,但对于包含非拉丁字符的其他语言(如中文、阿拉伯语、希腊语等)无法进行表示。这个局限性促使人们寻找新的编码方案,以便支持更多的字符集。

在中国,针对中文字符,人们开发了一系列的国标码(GB,即国家标准),包括GB2312、GBK和GB18030。这些编码标准仍然存在局限性。首先,这些编码主要针对中国,对于其他语言的支持有限。其次,由于每个国家可能都有自己的编码标准(如日文的Shift_JIS,韩文的EUC-KR),这就导致了一个问题:同一个字符在不同字符集下的字符代码不同,而且往往一个字符集无法包含另一个字符集的所有字符,因此跨语言交流时往往会出现乱码。
为了解决这个问题,Unicode(统一码、万国码)被提出并得到广泛接受。Unicode是一种在全球范围内统一、唯一的字符集,它包括几乎所有的写作系统的字符。这就使得不同语言和不同国家的计算机系统可以使用同一种编码标准,从而简化了国际化软件的开发和支持。

你可能感兴趣的:(unicode)