Unicode编码解码
Unicode编码解码工具是开发者必备的在线工具,能够帮您在普通文本和Unicode编码之间进行快速转换。本工具支持多种输出格式(JavaScript、Python、HTML、CSS、URL等),智能识别输入格式,为Web开发、调试日志、配置文件编写提供完整的Unicode转换解决方案。
核心功能详解
🔐 文本转Unicode(编码)
将普通文本转换为Unicode编码,支持多种格式输出。
你好世界 Hello 😀JavaScript格式:
\u4f60\u597d\u4e16\u754c Hello \ud83d\ude00HTML十进制:
你好世界 Hello 😀URL编码:
%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C%20Hello%20%F0%9F%98%80码点格式:
U+4F60 U+597D U+4E16 U+754C U+0020 U+0048 U+1F600
🔓 Unicode转文本(解码)
将Unicode编码还原为可读的普通文本,智能识别多种格式。
\uXXXX- JavaScript/JSON格式\UXXXXXXXX- Python长格式&#XXXXX;- HTML十进制实体&#xXXXX;- HTML十六进制实体\XXXX- CSS格式(需空格分隔)U+XXXX- Unicode码点格式%XX- URL编码
输入:
\u4f60\u597d → 输出:你好输入:
你好 → 输出:你好输入:
U+4F60 U+597D → 输出:你好
📊 多格式支持
支持7种常用Unicode编码格式,覆盖各种开发场景。
- JavaScript/JSON: \uXXXX - 用于JS字符串和JSON数据
- Python: \uXXXX / \UXXXXXXXX - Python字符串
- HTML十进制: &#XXXXX; - HTML实体编码
- HTML十六进制: &#xXXXX; - HTML十六进制实体
- CSS: \XXXX - CSS content属性
- 码点: U+XXXX - Unicode标准表示
- URL编码: %XX - URL参数编码
🔧 智能识别
自动检测输入的Unicode编码格式,无需手动选择。
- 自动识别JavaScript格式(\uXXXX)
- 自动识别Python格式(\UXXXXXXXX)
- 自动识别HTML实体(&#XX;)
- 自动识别码点格式(U+XXXX)
- 自动识别URL编码(%XX)
- 支持混合格式解码
📈 字符统计
提供详细的字符统计信息和编码分析。
- 输入输出字符数统计
- 字符类型分析(中文、英文、数字、Emoji)
- 编码格式显示
- 实时更新统计数据
😀 Emoji支持
完整支持Emoji表情和特殊字符,正确处理UTF-16代理对。
- 支持所有Emoji表情符号
- 正确处理UTF-16代理对(Surrogate Pair)
- 支持超出BMP的Unicode字符
- 准确统计Emoji数量
使用步骤
输入内容
在左侧编辑器中输入要转换的文本或Unicode编码
选择格式和选项
选择输出格式(JavaScript/Python/HTML等),设置转换选项(仅转换非ASCII、大小写)
执行转换
点击"编码"将文本转为Unicode,点击"解码"将Unicode还原为文本(智能识别格式)
查看和使用结果
右侧显示转换结果和统计信息,点击"复制结果"按钮一键复制
什么是 Unicode?
Unicode(统一码、万国码、单一码)是计算机科学领域的一项业界标准,用于对世界上大部分的文字系统进行一致性的编码、表示和处理。Unicode为每个字符分配一个唯一的码点(Code Point),记作U+XXXX,其中XXXX是十六进制数字。
Unicode核心概念
- 码点(Code Point): 每个字符的唯一编号,如"中"的码点是U+4E2D
- BMP(基本多文种平面): U+0000到U+FFFF的字符,包含最常用的字符
- 辅助平面: U+10000到U+10FFFF,包含Emoji、生僻字等
- 代理对(Surrogate Pair): UTF-16中用两个16位值表示超出BMP的字符
- UTF-8/UTF-16: Unicode的具体编码实现方式
常用Unicode范围
基本拉丁字母(U+0000 - U+007F)
A-Z, a-z, 0-9, 标点符号
与ASCII完全兼容,最常用的字符范围
CJK统一汉字(U+4E00 - U+9FFF)
中、文、汉、字...
常用中文汉字,约20000多个字符
Emoji表情(U+1F600 - U+1F64F等)
😀😁😂🤣😃😄😅...
表情符号和象形文字,需要代理对表示
编码格式对照
🔤 JavaScript/JSON
格式: \uXXXX
示例: \u4e2d\u6587
说明: 4位十六进制,用于JS字符串和JSON
使用: let text = "\u4e2d\u6587";
🐍 Python
格式: \uXXXX 或 \UXXXXXXXX
示例: \u4e2d\u6587 或 \U0001f600
说明: BMP用\u,超出BMP用\U
使用: text = "\u4e2d\u6587"
🌐 HTML十进制
格式: &#XXXXX;
示例: 中文
说明: 十进制码点值
使用: <p>中文</p>
🌐 HTML十六进制
格式: &#xXXXX;
示例: 中文
说明: 十六进制码点值
使用: <p>中文</p>
🎨 CSS
格式: \XXXX
示例: \4e2d \6587
说明: 用于CSS content属性,需空格分隔
使用: content: "\4e2d \6587";
📍 码点格式
格式: U+XXXX
示例: U+4E2D U+6587
说明: Unicode标准表示法
使用: 用于文档说明和字符查询
🔗 URL编码
格式: %XX
示例: %E4%B8%AD%E6%96%87
说明: UTF-8字节的百分号编码
使用: ?name=%E4%B8%AD%E6%96%87
Unicode应用场景
💻 Web开发
处理API返回的Unicode转义数据,调试JSON响应中的中文乱码问题
📝 配置文件
在配置文件中使用Unicode转义避免编码问题,确保跨平台兼容
🐛 日志调试
查看后端日志中的Unicode转义序列,还原实际的用户输入内容
🔍 正则表达式
编写Unicode范围的正则表达式,如匹配中文字符[\u4e00-\u9fa5]
🌍 国际化
处理多语言文本,确保各种语言字符正确显示和存储
😀 Emoji处理
在不支持Emoji显示的环境中使用Unicode编码表示表情符号
常见问题(FAQ)
Q: 为什么Emoji需要用代理对表示?
A: Emoji的Unicode码点通常超出BMP范围(>U+FFFF),在UTF-16编码中需要用两个16位值(代理对)来表示。例如😀的码点是U+1F600,在JavaScript中表示为\uD83D\uDE00(两个\u序列)。
Q: "仅转换非ASCII"选项有什么用?
A: 启用此选项后,英文字母、数字、标点符号等ASCII字符(0-127)将保持原样,只转换中文、Emoji等非ASCII字符。这样输出结果更易读,常用于配置文件和日志。
Q: Unicode和UTF-8是什么关系?
A: Unicode是字符集标准,定义了每个字符的唯一编号(码点)。UTF-8是Unicode的一种编码实现方式,将码点转换为字节序列。UTF-8使用1-4个字节表示一个字符,兼容ASCII,是互联网上最常用的编码。
Q: 如何在代码中使用Unicode转义?
A: 不同语言有不同的语法:
- JavaScript: let text = "\u4e2d\u6587";
- Python: text = "\u4e2d\u6587"
- Java: String text = "\u4e2d\u6587";
- HTML: <p>中文</p>
Q: 为什么JSON中的中文显示为\uXXXX?
A: 为了确保数据传输的安全性和兼容性,JSON标准允许将非ASCII字符编码为\uXXXX格式。这样可以避免编码问题,确保数据在不同环境中正确传输。使用本工具可以轻松还原为可读文本。
Q: 智能识别支持哪些格式?
A: 解码功能可以自动识别:\uXXXX(JS)、\UXXXXXXXX(Python)、&#XX;(HTML十进制)、&#xXX;(HTML十六进制)、U+XXXX(码点)、%XX(URL编码)等格式,甚至可以识别混合格式的文本。
学习资源
- Unicode官方网站: unicode.org
- Unicode字符表: unicode-table.com
- UTF-8编码介绍: 维基百科 - UTF-8
- 正则表达式中的Unicode: MDN Web Docs