ASCII 与 UNICODE
ASCII 和 UNICODE 是计算机系统中两种最广泛使用的字符编码方案。ASCII 和 UNICODE 之间最根本的区别在于,ASCII 用于以符号、数字和字符的形式表示文本,而 UNICODE 用于交换、处理和存储任何语言的文本数据。
什么是 ASCII?
ASCII 代表 美国信息交换标准代码 (American Standard Code for Information Interchange)。它是一个为电子通信中字符编码而制定的标准。ASCII 最初发布于 1963 年。在计算机和其他电子系统中,它用于将文本表示为符号、字符和数字。
在 ASCII 中,每个字母都分配一个 0 到 127 之间的特定值。因此,ASCII 可以用来表示 128 个字符。大多数计算机系统使用 ASCII 编码方案,这使得不同设备之间的数据交换变得简单。
下表显示了一些符号及其 ASCII 值。
| 名称 | 符号 | ASCII 值 | 二进制代码 |
|---|---|---|---|
| 空字符 | NUL | 0 | 00000000 |
| 标题开始 | SOH | 1 | 00000001 |
| 替换 | SUB | 26 | 00011010 |
| 转义 | ESC | 27 | 00011011 |
| 文件分隔符 | FS | 28 | 00011100 |
| 组分隔符 | GS | 29 | 00011101 |
| 记录分隔符 | RS | 30 | 00011110 |
| 单元分隔符 | US | 31 | 00011111 |
| 空格 | 32 | 00100000 | |
| 感叹号 | ! | 33 | 00100001 |
| 双引号 | " | 34 | 00100010 |
| 数字符号 | # | 35 | 00100011 |
| 美元符号 | $ | 36 | 00100100 |
| 百分号 | % | 37 | 00100101 |
| 和号 | & | 38 | 00100110 |
| 单引号 | ' | 39 | 00100111 |
| 左括号 | ( | 40 | 00101000 |
| 右括号 | ) | 41 | 00101001 |
| 星号 | * | 42 | 00101010 |
| 加号 | + | 43 | 00101011 |
| 逗号 | , | 44 | 00101100 |
| 连字符 | - | 45 | 00101101 |
| 句点 | . | 46 | 00101110 |
| 斜杠 | / | 47 | 00101111 |
| 零 | 0 | 48 | 00110000 |
| 一 | 1 | 49 | 00110001 |
| 二 | 2 | 50 | 00110010 |
| 八 | 8 | 56 | 00111000 |
| 九 | 9 | 57 | 00111001 |
| 冒号 | : | 58 | 00111010 |
| 分号 | ; | 59 | 00111011 |
| 小于号 | < | 60 | 00111100 |
| 等于号 | = | 61 | 00111101 |
| 大于号 | > | 62 | 00111110 |
| 问号 | ? | 63 | 00111111 |
| @ 符号 | @ | 64 | 01000000 |
| 大写 A | A | 65 | 01000001 |
| 大写 B | B | 66 | 01000010 |
| 大写 C | C | 67 | 01000011 |
| 大写 D | D | 68 | 01000100 |
| 大写 X | X | 88 | 01011000 |
| 大写 Y | Y | 89 | 01011001 |
| 大写 Z | Z | 90 | 01011010 |
| 左方括号 | [ | 91 | 01011011 |
| 反斜杠 | \ | 92 | 01011100 |
| 右方括号 | ] | 93 | 01011101 |
| 脱字符 | ^ | 94 | 01011110 |
| 下划线 | _ | 95 | 01011111 |
| 重音符 | ` | 96 | 01100000 |
| 小写 a | a | 97 | 01100001 |
| 小写 b | b | 98 | 01100010 |
| 小写 c | c | 99 | 01100011 |
| 小写 d | d | 100 | 01100100 |
| 小写 e | e | 101 | 01100101 |
| 小写 v | v | 118 | 01110110 |
| 小写 w | w | 119 | 01110111 |
| 小写 x | x | 120 | 01111000 |
| 小写 y | y | 121 | 01111001 |
| 小写 z | z | 122 | 01111010 |
| 左花括号 | { | 123 | 01111011 |
| 竖线 | | | 124 | 01111100 |
| 右花括号 | } | 125 | 01111101 |
| 波浪号 | ~ | 126 | 01111110 |
| 删除 | 127 | 01111111 |
什么是 UNICODE?
UNICODE 代表 统一字符集 (Universal Character Set)。UNICODE 是一种编码方案,其标准由 UNICODE 协会 (UNICODE Consortium) 维持。UNICODE 最大的优点是我们可以通过赋予不同的数字来唯一地定义每种语言中的每个字符。
UNICODE 表示来自不同语言的各种字符、公式、文本、数学符号、表情符号、希腊字母等。因此,UNICODE 是编码许多全球常用字符的最流行的编码方案之一。
根据使用的位数,UNICODE 编码方案分为几种类型。这些 UNICODE 编码方案包括 UTF-7(7 位编码方案)、UTF-8(8 位编码方案)、UTF-16(16 位编码方案)和 UTF-32(32 位编码方案)。这里,UTF 代表 UNICODE 转换格式 (UNICODE Transformation Format),这是一种 UNICODE 编码方案。
使用 UNICODE 的主要目标是计算机应用程序和软件的本地化和国际化。UNICODE 也用于操作系统的编程、Java 应用程序、XML 等。
ASCII 和 UNICODE 之间的区别
以下是 ASCII 和 UNICODE 之间所有重要区别的重点 −
| 参数 | ASCII | UNICODE |
|---|---|---|
| 全称 | ASCII 代表美国信息交换标准代码 (American Standard Code for Information Interchange)。 | UNICODE 代表统一字符集 (Universal Character Set)。 |
| 相互关系 | ASCII 是 UNICODE 编码方案的子集。 | UNICODE 是 ASCII 的超集。 |
| 支持的字符 | ASCII 使用 7 位编码方案仅支持 128 个字符。它包含表示英文字符、数字和标准特殊符号的代码。 | UNICODE 支持广泛的字符。它支持 154 种书写文字。 |
| 每个字符的位数 | ASCII 使用 7 位或 8 位(扩展 ASCII)来表示不同的字符。 | UNICODE 主要使用四种字符编码方案,即 UTF-7(7 位)、UTF-8(8 位)、UTF-16(16 位)和 UTF-32(32 位)。 |
| 内存消耗 | ASCII 消耗的内存较少。 | 与 ASCII 相比,UNICODE 消耗的内存更多。 |
| 表示的字符 | ASCII 只能表示英文字母、数字、某些数学符号和一些语法符号等。 | UNICODE 可以表示来自不同语言(如英语、拉丁语、希腊语等)的大量字符、特殊符号、公式等。 |
| 首版发行 | ASCII 的首版于 1963 年发布。 | UNICODE 的首版于 1991 年发布。 |
| 应用 | ASCII 编码方案用于计算机和其他电子设备中的数据交换。它也用于 HTML 等编程语言。 | UNICODE 被 IT 行业用于计算机中的编码和字符表示。 |
结论
ASCII 和 UNICODE 都是电子通信中使用的字符编码方案。从以上对 ASCII 和 UNICODE 的比较中,我们可以指出它们之间最显著的区别:ASCII 是一种基本的编码方案,使用 7 位编码表示 128 个字符,而 UNICODE 则是文本、数字、数学符号、表情符号、公式等的广阔海洋,可以用不同的位数来映射。但是,ASCII 是 UNICODE 的一个真子集,因此 UNICODE 可以表示 ASCII 中的所有字符。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP