Unicode、 Utf 8、 Utf 16
计算机只能理解二进制,二进制语言是面向机器的语言,人类能理解的是字符,编码 实际是一种 二进制 与 字符 的映射关系。 ASCII 码实际上是一种映射关系的具体实现,是从二进制字符到字母数字字符的映射
Base64 也称为 Base64 内容传输编码。Base64 是将二进制数据编码为 ASCII 文本。但它只使用了 64 个字符,再加上大多数字符集中存在的一个填充字符。所以它是一种仅使用可打印字符表示二进制数据的方法。Base64 常用于在通常处理文本数据的场景,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。
Base64 编码用于通过不能正确处理二进制数据的介质传输数据。因此,对数据进行 Base64 编码以确保数据完整,无需通过此介质进行任何修改。
Unicode 是另一种字符编码(映射关系的具体实现),它仍然是:位查找 -> 字符,由 Unicode Consortium 维护,其负责制定国际使用的软件标准。IT 行业将 Unicode 标准化以对计算机和其他电子和通信设备中的字符进行编码和表示。
Unicode 由许多代码点组成(将来自世界各地的大量字符映射到所有计算机都可以引用的键),代码点的集合称为字符集,这就是 Unicode。开发 Unicode 的目标是通过一种独特的方式将世界上任何语言的任何字符或符号转换成唯一的数字。可以在 unicode.org 上查找任何 Unicode 字符的编号,包括表情符号!
Unicode | ASCII | |
---|---|---|
含义 | 通用字符集 | 美国信息交换标准代码 |
用法 | 由IT行业标准化,用于在计算机中编码和表示字符。 | 用于电子通信和HTML等编程语言。 |
表示内容 | 表示大量字符、公式、数学符号和来自不同语言的文本。 | ASCII用于表示英文字母、数字、一些数学符号和语法符号,如标点符号、感叹号等 |
编码位数 | 使用四种编码格式,即UTF-7、UTF-8、UTF-16、UTF-32,分别使用7、8、16和32位。 | 使用 7 位或 8 位来表示各种字符。 |
内存占用 | Unicode 的UTF-8、UTF-16 和UTF-32 编码方案分别使用8、16和32 位,因此占用的内存较多。 | 在编码中使用 7 或 8 位;因此,它在内存中占用的空间较小。 |
UTF 是 Unicode 编码方式的一种。UTF 编码由 Unicode 标准定义,能够对需要的每个 Unicode 代码点进行编码。Unicode 编码方案根据用于对字符进行编码的位数进行分类。目前使用的 Unicode 编码方案有 UTF-7、UTF-8、UTF-16 和 UTF-32 ,分别使用 7 位、8 位、16 位和 32 位来表示字符。
那如何知道文件将使用哪种编码呢?有一种称为字节顺序标记(BOM,即 Byte Order Mark) 的东西,也称为编码签名。BOM是文件开头的一个两字节标记,用于标识文件是采用哪种格式的编码。
UTF-8 在互联网上使用最多,在 HTML5 中也被指定为文档的首选编码。