Binary Text Converter:文本转二进制
Binary Text Converter将文本转换为二进制或十六进制,并将二进制/十六进制解码回文本。Unicode支持,可配置分隔符。
什么是 Binary Text Converter?
Binary Text Converter 是一款免费在线工具,可将纯文本转换为二进制(基数2)或十六进制(基数16)表示,并将二进制或十六进制字符串解码回可读文本。使用 UTF-8 编码,正确处理完整的 Unicode 字符集——英文字母、重音字符、阿拉伯文、中文、表情符号,以及任何可用 UTF-8 编码的文本。
该工具被检查字节级数据的开发者、学习字符编码的学生,以及需要验证字符串的二进制或十六进制表示是否符合预期的用户所使用。所有计算在浏览器中本地进行;不向服务器发送任何内容。该工具免费,无需账户。
核心功能
- 文本转二进制 — 将输入的每个 UTF-8 字节编码为8位二进制字符串(ASCII 字母
H为01001000)。 - 二进制转文本 — 将二进制字符串(8位分组,以空格或空白符分隔)解码回文本。
- 十六进制支持 — 将文本编码为大写十六进制对(
H为48),或将十六进制对解码回文本。 - 可配置分隔符 — 编码模式:空格、无分隔符或换行符。控制输出的可读性和格式。
- 输入验证 — 解码模式下,工具立即验证输入。二进制输入必须仅包含8组
0和1字符。十六进制输入必须仅包含成对的有效十六进制字符。视觉指示器显示有效/无效状态。 - Unicode/UTF-8 支持 — 使用浏览器内置的
TextEncoder和TextDecoderAPI。多字节字符(重音字母、CJK、表情符号)正确编码并无损解码。 - 实时转换 — 每次按键后输出立即更新。
- 交换按钮 — 将当前输出移至输入字段并一键切换模式。
- 复制到剪贴板 — 一键复制输出。
- 批量模式 — 一次处理多个字符串(会员功能)。
使用方法
第1步:选择模式
顶部显示两个模式按钮:Text to Binary(编码)和 Binary to Text(解码)。
- 如果您有可读文本并需要其二进制或十六进制表示,选择 Text to Binary。
- 如果您有二进制或十六进制字符串并需要恢复原始文本,选择 Binary to Text。
第2步:选择格式
两个格式按钮:Binary 和 Hexadecimal。
- Binary 生成或需要8位二进制字符串(
Hello为01001000 01100101 01101100 01101100 01101111)。 - Hexadecimal 生成或需要大写十六进制对(
Hello为48 65 6C 6C 6F)。
第3步:选择分隔符(仅编码模式)
编码时有三种分隔符选项:
| 选项 | 效果 | hi 的输出示例 |
|---|---|---|
| Space | 以空格分隔的字节 | 01101000 01101001 |
| None | 无分隔符,字节连续 | 0110100001101001 |
| Line Break | 每个字节单独一行 | 01101000\n01101001 |
解码模式下分隔符选项被隐藏,因为解码器在处理前会删除所有空白符。
第4步:输入内容
在输入文本区域粘贴或输入内容。输出立即显示在输出面板中。
编码示例:
输入(文本):Hello 格式:Binary,分隔符:Space
输出:01001000 01100101 01101100 01101100 01101111
解码示例:
输入(二进制):01001000 01100101 01101100 01101100 01101111 模式:Binary to Text
输出:Hello
Unicode 编码示例:
输入(文本):café 格式:Hexadecimal,分隔符:Space
输出:63 61 66 C3 A9
é 字符编码为两个字节(C3 A9),因为它是多字节 UTF-8 字符。
第5步:解码模式下验证输入
当解码模式处于活动状态且您已输入内容时,验证指示器会出现:
✓ Valid input(绿色)— 输入通过验证,可以解码。✗ Invalid input(红色)— 输入包含无法解码的字符。
对于二进制:仅包含 0 和 1 字符(空白符忽略),总位数可被8整除。 对于十六进制:仅包含十六进制字符(空白符忽略),总字符数可被2整除。
第6步:使用交换进行往返验证
编码后,点击 Swap / Switch Mode 按钮,将编码后的输出移至输入,切换到解码模式,验证是否能获得原始文本。
实用示例
调试网络协议
协议发送二进制载荷。您捕获了 01001000 01100101 01101100 01101100 01101111 00100001,需要了解其内容。选择 Binary to Text,粘贴二进制数据,在输出中读取 Hello!。
验证国际化文本的编码
您正在测试应用程序是否正确处理法语字符串。以十六进制格式在编码模式下输入 façade。输出 66 61 C3 A7 61 64 65 确认 ç 按 UTF-8 预期编码为两个字节(C3 A7)。将此与应用程序的实际字节输出进行比较。
向学生教授二进制编码
演示字母如何映射到位。输入单个字符(A),向学生展示二进制输出:01000001。将字符更改为 a(小写),观察 01100001。位位置5的差异(0 对 1)说明大小写字母之间的 ASCII/Unicode 关系。
技巧与最佳实践
解码输入中的空白符被忽略。 解码器在处理前删除所有空白符(空格、制表符、换行符)。以空格、换行符或无分隔符分隔的二进制输入处理方式相同。
十六进制输出使用大写字母。 工具始终以大写(A 到 F)输出十六进制。解码时接受大写和小写(6F 和 6f 都解码为 o)。
多字节字符产生多个输出组。 😀 等4字节表情符号产生4个二进制组(11110000 10011111 10011000 10000000)或4个十六进制对(F0 9F 98 80)。这是正确的 UTF-8 编码。
使用 None 分隔符获得紧凑输出。 如果需要无空格的二进制输出,选择 None。解码器也接受此格式。
交换按钮节省复制步骤。 编码后,无需手动复制、切换模式和粘贴,只需点击一次 Swap。
常见问题与故障排除
"Invalid binary input. Must contain only 0s and 1s in groups of 8." 当二进制字符串的位数不能被8整除,或存在非二进制字符时,解码器会抛出此错误。检查输入中是否有多余的字母、非0或1的数字,或标点符号。
"Invalid hex input. Must contain valid hex characters in pairs." 当十六进制输入在删除空白符后字符数为奇数,或包含 0-9A-Fa-f 之外的字符时发生。
输出显示乱码字符。 这通常意味着源数据不是以 UTF-8 编码的。工具使用默认 UTF-8 编码的 TextDecoder。如果原始字节来自 Latin-1 或 Windows-1252 编码的源,解码后的文本将与原始文本不同。
验证显示无效,但输入看起来正确。 检查总位数是否能被8整除。删除空白符后17个字符的二进制字符串无效,因为17不是8的倍数。
复制按钮被禁用。 当输出为空时,复制按钮被禁用。当输入为空或解码因错误失败时会发生这种情况。先解决验证错误,然后再复制。
隐私与安全
Binary Text Converter 完全在浏览器中运行。编码使用浏览器内置的 TextEncoder API;解码使用 TextDecoder。这两个 API 都不会发出网络请求。不向任何服务器传输文本或二进制数据。该工具没有用于转换的服务器端组件,页面加载后可离线使用。
常见问题解答
Binary Text Converter 是免费的吗? 是的,无需账户即可免费使用。核心编码/解码功能完全免费。会员功能(预设、历史记录、批量模式)需要 Glyph Widgets 会员订阅。
支持离线使用吗? 是的。转换使用浏览器原生 API(TextEncoder、TextDecoder)。页面加载后不需要网络连接。
我的文本安全吗? 您的文本永远不会发送到任何服务器。所有处理都是本地 JavaScript。不联系任何外部服务。
使用什么字符编码? UTF-8,通过浏览器的 TextEncoder 和 TextDecoder API。这意味着所有 Unicode 字符都得到正确支持,包括表情符号和 Basic Multilingual Plane 之外的字符。
为什么 é 产生两个十六进制对而不是一个? 因为 é(U+00E9)在 UTF-8 中编码为两个字节:0xC3 0xA9。UTF-8 使用多个字节编码 U+007F 以上的代码点。
我可以解码使用空格以外的分隔符的二进制吗? 是的。解码器在处理前删除所有空白符,因此以空格、制表符、换行符或无分隔符分隔的二进制处理方式相同。
二进制和十六进制输出有什么区别? 两者都表示相同的底层字节。二进制将每个字节显示为8位(如 01001000)。十六进制将每个字节显示为2位十六进制数字(如 48)。十六进制更紧凑——5个字符的单词 Hello 产生40个二进制字符(加分隔符),而十六进制只产生14个字符。二进制在教育目的上更直观;十六进制在开发者环境中更常见。
该工具支持表情符号吗? 是的。表情符号是多字节 UTF-8 字符。每个编码为3或4个字节,无损解码回原始表情符号。
我可以一次转换多个字符串吗? 是的,使用批量模式(会员功能)。在批量输入中每行输入一个字符串。工具将当前模式和格式设置应用于每一行。
为什么十六进制输出使用大写字母? 源代码中 byte.toString(16) 调用与 .toUpperCase() 结合。这是一种常见惯例——RFC 标准和许多调试工具以大写显示十六进制。
相关工具
- Base64 Encoder/Decoder — 文本上下文中二进制数据的另一种常见编码格式。
- Character Counter — 在编码前统计文本中的字符、字节和代码点。
- Case Converter — 在转换前后更改文本大小写。
立即试用 Binary Text Converter:Binary Text Converter