Unicode 联盟开发了 Unicode 标准。他们的目标是用标准的 Unicode 转换格式(UTF)替换现有的字符集。
Unicode 标准已经成功实现,并且以 HTML、XML、Java、JavaScript、电子邮件、ASP、PHP 等实现。在许多操作系统和所有现代浏览器中也支持 Unicode 标准。
Unicode 联盟与领先的标准开发组织(如 ISO、W3C 和 ECMA)开展了合作。
Unicode 可以通过不同的字符集来实现。最常用的编码是 UTF-8 和 UTF-16:
字符集 | 描述 |
---|---|
UTF-8 | UTF8 中的字符长度可以是 1 到 4 个字节。 UTF-8 可以代表 Unicode 标准中的任何字符。 UTF-8 向后兼容ASCII。 UTF-8 是电子邮件和网页的首选编码。 |
UTF-16 | 16 位 Unicode 转换格式是 Unicode 的可变长度字符编码,能够编码整个 Unicode 编码。 UTF-16 用于主要的操作系统和环境,如 Microsoft Windows、Java 和 .NET。 |
提示:Unicode 的前 128 个字符(与 ASCII 一一对应)使用与 ASCII 相同的二进制值的单个八位字节进行编码,使得有效的 ASCII 文本使用有效的 UTF-8 编码 Unicode。
HTML 4 支持 UTF-8。 HTML 5 同时支持 UTF-8 和 UTF-16!
由于 ISO-8859 中的字符集大小有限,在多语言环境中不兼容,因此 Unicode 联盟制定了 Unicode 标准。
Unicode 标准涵盖了(几乎)世界上所有的字符、标点和符号。
Unicode 支持独立于平台和语言的文本处理、存储和传输。
HTML-5 中的默认字符编码是 UTF-8。
如果 HTML5 网页使用与 UTF-8 不同的字符集,则应在 <meta> 标记中指定它,如下所示:
<meta charset="ISO-8859-1">
Unicode 是一个字符集。 UTF-8 属于编码。
Unicode 是具有唯一十进制数字(代码点)的字符列表。 A = 65,B = 66,C = 67,....
这个十进制数字表示字符串“hello”:104 101 108 108 111
编码指的是如何将这些数字转换成存储在计算机中的二进制数字:
UTF-8 编码将像这样存储“hello”(二进制):01101000 01100101 01101100 01101100 01101111
编码将数字转换为二进制。字符集将字符转换为数字。
以下是 HTML5 支持的一些 UTF-8 字符代码列表:
字符码 | 十进制 | 十六进制 |
---|---|---|
C0 控制和基本拉丁语 | 0-127 | 0000-007F |
C1 控制和 Latin-1 补充 | 128-255 | 0080-00FF |
拉丁文扩展-A | 256-383 | 0100-017F |
拉丁文扩展-B | 384-591 | 0180-024F |
间距修饰符 | 688-767 | 02B0-02FF |
变音符号 | 768-879 | 0300-036F |
希腊和科普特 | 880-1023 | 0370-03FF |
西里尔文基本 | 1024-1279 | 0400-04FF |
西里尔文补充 | 1280-1327 | 0500-052F |
一般标点符号 | 8192-8303 | 2000-206F |
货币符号 | 8352-8399 | 20A0-20CF |
类字母符号 | 8448-8527 | 2100-214F |
箭头 | 8592-8703 | 2190-21FF |
数学运算符 | 8704-8959 | 2200-22FF |
框绘制 | 9472-9599 | 2500-257F |
块元素 | 9600-9631 | 2580-259F |
几何形状 | 9632-9727 | 25A0-25FF |
杂项符号 | 9728-9983 | 2600-26FF |
装饰符号 | 9984-10175 | 2700-27BF |