什么是 UTF-8?

UTF-8(8 位 Unicode 转换格式)是一种可变宽度字符编码,可以表示 Unicode 标准中的每个字符。它每个字符使用 1 到 4 个字节,并且向后兼容 ASCII。

快速了解

全称8 位 Unicode 转换格式
创建时间1992 年由 Ken Thompson 和 Rob Pike 设计
规范文档官方规范

工作原理

UTF-8 由 Ken Thompson 和 Rob Pike 于 1992 年设计,已成为 Web 的主要字符编码。其关键创新是可变宽度编码:ASCII 字符(0-127)只使用 1 个字节,使 UTF-8 对英文文本高效,同时仍支持所有 Unicode 字符。字符使用特定的位模式编码,指示后面跟随多少字节。UTF-8 是自同步的,意味着您可以在不从头读取的情况下找到字符边界。它是 HTML5、JSON 和大多数现代系统的默认编码。

主要特点

  • 可变宽度:每个字符 1-4 字节
  • 向后兼容 ASCII(前 128 个字符)
  • 自同步编码
  • 没有字节序问题(与 UTF-16 不同)
  • HTML5、JSON 和 Web 的默认编码
  • 对 ASCII 为主的文本高效

常见用途

  1. 网页编码(HTML、CSS、JavaScript)
  2. JSON 和 XML 数据文件
  3. 数据库文本存储
  4. 电子邮件和消息系统
  5. 源代码文件

示例

loading...
Loading code...

常见问题

UTF-8 和 Unicode 有什么区别?

Unicode 是一个字符集标准,为每个字符定义唯一的码点。UTF-8 是 Unicode 的一种编码实现方式,定义了如何将 Unicode 码点转换为字节序列。其他编码方式还包括 UTF-16 和 UTF-32。UTF-8 因其兼容性和效率成为最流行的 Unicode 编码。

为什么 UTF-8 是 Web 的首选编码?

UTF-8 成为 Web 标准有几个原因:1)向后兼容 ASCII,英文内容无需改变;2)可变长度编码对英文文本高效(每字符 1 字节);3)没有字节序问题;4)自同步特性便于错误恢复;5)被 HTML5、JSON 等标准采用为默认编码。

UTF-8 如何编码不同的字符?

UTF-8 使用 1-4 个字节编码字符:ASCII 字符(U+0000-007F)用 1 字节;拉丁扩展和常见符号(U+0080-07FF)用 2 字节;大多数常用字符包括中文(U+0800-FFFF)用 3 字节;表情符号和罕见字符(U+10000-10FFFF)用 4 字节。

如何在 HTML 中正确声明 UTF-8 编码?

在 HTML5 中,应在 <head> 部分添加 <meta charset="UTF-8">,且这个标签应尽可能靠前放置(在前 1024 字节内)。同时,服务器应发送 Content-Type: text/html; charset=utf-8 响应头。文件本身也应以 UTF-8 编码保存。

UTF-8 和 UTF-16 应该如何选择?

UTF-8 适合:Web 内容、以英文为主的文本、需要 ASCII 兼容性的场景。UTF-16 适合:Windows 内部 API、Java 和 JavaScript 内部字符串表示、以亚洲文字为主的文本。一般来说,对于存储和传输,UTF-8 是更通用的选择。

相关工具

相关术语

相关文章

字符编码深度解析【2026】- ASCII、Unicode与UTF-8

全面深度硬核解析计算机科学底层中字符编码(Character Encoding)的发展演进历程与核心数学底层原理。深入剖析经典 ASCII、多语言 Unicode(字符集)与可变长 UTF-8/UTF-16(编码方式)的运行转换机制与内存空间占用差异。手把手教你掌握 HTML 实体编码安全转义规则、彻底排查处理 Web 乱码痛点问题以及前端处理二进制流(Blob/ArrayBuffer)数据流相互转换的实战技巧。

2026-02-06

文本编码详解:HTML实体、ASCII、Unicode与字符编码原理

深入解析计算机底层字符编码的核心原理与发展演进历程。全面掌握 ASCII、Unicode 标准体系以及 UTF-8/UTF-16 等变长编码方式的区别。深入学习 HTML 实体编码(Entity Encoding)在现代 Web 安全防范(如 XSS)和前端国际化(i18n)开发中的应用,彻底解决开发中常见的乱码痛点,附带多语言实现代码与在线转码工具。

2024-01-17

Base64编码解码详解【2026】- 原理、应用与代码示例

深入系统地学习前端与后端开发中无处不在的 Base64 编码与解码(Encode/Decode)底层运行原理与实战高级应用。彻底掌握如何将复杂的二进制文件数据流安全转换为纯 ASCII 文本字符串序列的核心技术。文章包含 JavaScript、Python、Java 多语言的完整代码实战示例,全面涵盖前端图片 Data URL 优化内联、后端 JWT(JSON Web Token)安全令牌生成、以及跨域 HTTP 基本身份认证(Basic Auth)等高频常见业务场景。

2024-01-15