字符串字节互转
字符串与十六进制字节数组互转,UTF-8 编码解码,支持多种十六进制输入格式。
什么是字符串与字节互转?
计算机存储和传输的永远是字节,而人阅读的是字符。字符串与字节互转就是在「人类可读的文本」与「机器可读的字节序列」之间转换。本工具采用 UTF-8 编码:英文字符占 1 字节,汉字占 3 字节,emoji 占 4 字节。转换结果以十六进制字节数组呈现,例如「你好」编码后为 E4 BD A0 E5 A5 BD,每个字节用两个十六进制字符表示、空格分隔。
这种转换在开发中非常常见:调试二进制协议、分析串口数据、查看加密与哈希的原始字节、构造 HTTP 请求体等场景都需要在文本与十六进制之间切换。本工具同时支持反向解析:粘贴十六进制字节串(支持空格/逗号分隔、连续无分隔、带 0x 前缀等多种写法)即可还原为 UTF-8 文本。所有转换都通过浏览器内置的 TextEncoder / TextDecoder 完成,与 Node.js、Python 等主流环境的 UTF-8 行为完全一致。
使用步骤
- 在输入框粘贴要转换的文本,或粘贴十六进制字节串;
- 点击「字符串 → 字节」将文本编码为十六进制字节串;
- 点击「字节 → 字符串」将十六进制字节串解码还原为文本;
- 查看提示区的字节数统计,点击「复制」按钮复制结果。
常见问题
字节数组(十六进制)是什么?
它是把文本按 UTF-8 编码成字节后,用十六进制表示的序列,例如「你好」对应 E4 BD A0 E5 A5 BD。这种形式常用于二进制协议调试、串口通信和加密数据展示。
为什么中文的字节串比字符数长很多?
UTF-8 是变长编码:一个汉字占 3 个字节、emoji 占 4 个字节,所以中文文本的十六进制字节串通常约为字符数的 6-8 倍长度,属正常现象。
十六进制输入支持哪些格式?
支持空格或逗号分隔的字节串(如 E4 BD A0)、连续无分隔的十六进制串(如 E4BDA0),以及带 0x 前缀的写法,本工具会自动清理并解析。
转换会修改我的原始文本吗?
不会。转换只读取输入并生成新的结果,原始内容保持不变;所有操作都在浏览器本地完成,不会上传服务器。