查看文字背后的字节

文本转二进制

在文本与二进制或十六进制字节之间转换,明确指定字符编码。示例包含 4 个 Unicode 码点、10 个字节。

文本转二进制

文本或字节输入

转换结果

转换在当前浏览器中完成,输入不会上传或保存为历史记录。

字节转换选项

每个字节为 8 位二进制或 2 位 Hex;连续字节串可用空格、制表符、换行或逗号分组,分隔符只能出现在完整字节之间。

严格使用所选编码,保留 U+FEFF,不添加或移除 BOM,也不根据 BOM 猜测字节序。

文本上限为 65,536 个 UTF-16 单元;字节输入为 2,097,152 个字符;最多 196,608 个字节;结果最多 2,097,152 个字符。

10 字节 · 4 个 Unicode 码点 · 5 个 UTF-16 单元

TXT 以 UTF-8 保存结果文字;BIN 保存实际编码或解析得到的字节。

核对接口报文或十六进制日志时,看到的字符相同,不代表底层字节相同。文本转二进制把编码选择和字节结果放在一起,方便检查中文、重音字母和 emoji 如何存储。应先确认数据来源使用的编码;解码成功只能说明字节有效,不能证明还原出的文字就是原文。

为什么使用文本转二进制

看见一个字符占用多少字节

文本转二进制先对完整 Unicode 文本编码,再展示每个字节。字母 A 占 1 个 UTF-8 字节,é 占 2 个,汉字“中”占 3 个,😀 占 4 个。切换到 UTF-16 LE 或 BE 后,可看到每个编码单元的两个字节如何交换次序。

一个符号对应一个字节格,复杂符号展开为多个相同大小的字节格。

残缺数据停下来检查

只有 7 位的二进制组不会自动补零,无效的 UTF 字节也不会被替换字符掩盖。转换会整体失败,原始输入保留,并指出字节所在的行列,避免复制出一份悄悄少了字符的结果。

完整的字节组通过校验,缺少一位的字节组被拦下并突出显示。

先确认编码,再核对结果

01

按来源选择编码与方向

二进制转文本需要先选二进制格式;十六进制转字符串则先选 Hex。UTF-16 要明确选择小端 LE 或大端 BE。方向选择只修改解释方式;要把当前结果移入输入框,使用“反向使用结果”并核对预览。

02

分清文字空格和字节分隔

文本中的空格是内容,会变成字节;输出分隔符只是排版。自动转换会等待 350 毫秒,关闭后可点“转换”或按 Ctrl/Cmd + Enter。输入或参数改变后,旧结果立即过期,不能复制或下载。

03

选择需要的文件内容

核对字节数与码点数后再导出。TXT 保存显示的文字,BIN 保存真实字节。反向回填、加载示例和清空都会先显示替换数量;应用后可撤销一次,同时恢复输入、参数和原结果。

字节视图保留哪些细节

多字节字符完整往返

文本转十六进制不会把中文或 emoji 当作超出单字节范围的内容跳过。UTF-8 编码先处理整段文字,再把每个字节写成两位十六进制。组合重音按输入保留,不做 NFC 规范化;码点数也不等于肉眼看到的字形数量。

固定宽度与前导零

二进制始终为每字节 8 位,Hex 始终为每字节 2 位,零字节不会消失。空格、无分隔、换行和逗号只影响编码输出。解码同时接受十六进制大小写,不需要把输出分隔符选项调成输入的样子。

错误回到原始位置

非法数字、半个字节、错误的 UTF-8 延续字节,以及未配对的 UTF-16 代理项都会报错。字节编号映射回粘贴内容的原始行列。若输入本来就包含合法编码的 U+FFFD,则会保留这个字符,不会误报为解码失败。

预览分批,结果完整

编码结果先展示 100 个字节,解码结果先展示 100 个 Unicode 码点,每次可再展开 100 项。预览边界不会截断字节或 emoji 的代理对。复制和两类下载都使用完整的有效结果,不受当前展开数量影响。

支持范围与输入约定

只接受完整字节
不自动清洗 0x、0b、反斜杠转义、数组括号、日志地址和 hexdump 的文字列。0100 0001 的两半不会拼成一个字节。请先提取真正的字节内容;工具不会忽略不认识的字符。
三种明确的 Unicode 编码
支持 UTF-8、UTF-16LE 和 UTF-16BE,不猜测源编码,不提供含糊的 UTF-16 自动模式。GBK、Shift_JIS、EUC-KR 和独立 ASCII 模式不在本版范围。错误的编码选择有时也能产生有效文字,需要结合来源核对。
不改写原文内容
文本中的空格、NUL、CR、LF、组合字符和 U+FEFF 都保留,不添加或去除 BOM,不自动调整字节序,也不规范化 Unicode。内容进入页面以前,操作系统或剪贴板已经做过的换行替换无法恢复。
超限会拒绝转换
文本输入及解码结果最多 65,536 个 UTF-16 单元;字节表示最多 2,097,152 个字符,最多解析 196,608 个字节;输出最多 2,097,152 个字符。超限直接报错,不截断有效结果;不提供文件导入、URL 抓取和批处理。
文本文件与字节文件有区别
TXT 始终以 UTF-8 保存显示结果,即使选择的是 UTF-16 编码。需要真实的 UTF-16 字节时应下载 BIN。工具不会解析图片、压缩包或可执行文件的结构,也不会覆盖原文件。
不做整数换算或加密
输入 42 表示字符“4”和“2”,不是整数四十二。十进制、八进制、负数补码、浮点、Base64 和码点转义属于其他任务。把文字写成二进制或 Hex 并不能保护消息内容。

文本转二进制常见问题

为什么每个字符是八位?

固定为八位的是字节,不是字符。ASCII 范围内的字符在 UTF-8 中通常占一个字节,中文与 emoji 会占多个字节;UTF-16 的一个编码单元是两个字节,补充平面字符需要两个编码单元。

分隔符选项有什么作用?

它只控制文本编码后的字节如何排列,例如用空格或逗号隔开,或输出连续串。原文中的空格仍然编码为内容。解码时会识别完整字节之间支持的空白和逗号,输出分隔符选项不参与解码。

我能把二进制解码回文本吗?

可以。选择“字节 → 文本”和二进制格式,再选择产生这些字节时使用的编码。无分隔的连续字节也能解析。用当前结果往返时,可通过“反向使用结果”预览后应用,原文和结果可一起撤销恢复。

为什么有些字符无法转换?

如果输入是未配对的 UTF-16 代理项,或者字节在所选编码下无效,工具会拒绝转换。正常的中文和 emoji 都支持,不会因为超过 ASCII 范围就被跳过。请先检查字节是否完整,再核对来源编码。

为什么有的字符会产生不止一个字节对?

每两位十六进制表示一个字节,一个字符可能需要多个字节。例如 UTF-8 中 é 是 C3 A9,😀 是 F0 9F 98 80。字符的 Unicode 码点编号与编码后的字节不是同一个值。

还有疑问?

核对一段真实字节

回到文本转二进制,用同一段文字比较 UTF-8 与两种 UTF-16 字节序。确认字节数量后,选择下一步真正需要的文本或原始字节。

一个字节固定为八位,一个字符可能需要多个字节。