即时将文本与二进制互相转换。在任一框中输入即可实时转换。可正确处理任何语言甚至表情符号,还支持十六进制、十进制、八进制和 Base64。
二进制转换器是把文字与二进制、十六进制、十进制、八进制、Base64 五种编码互相转换的在线工具。ToolsPivot 这一版最大的改动是两个输入框实时联动:左边打字,右边立刻出编码;右边粘一串 01,左边立刻还原成原文,中间没有“转换”按钮。更关键的是它按 UTF-8 标准处理文字,所以汉字、日文、韩文、带声调的字母以及 emoji 都能正确往返,不会像很多旧工具那样一遇到中文就吐出问号和乱码。想只看单向结果的话,也可以直接用文本转二进制工具。
这个工具把你输入的每个字符先按 UTF-8 拆成字节,再把字节写成你选的那种进制。英文字母、数字和常见符号是 1 个字节,常用汉字是 3 个字节,大部分 emoji 是 4 个字节。二进制模式下每个字节补零成 8 位,十六进制是 2 位,八进制是 3 位,十进制直接给出 0 到 255 的数值,Base64 则把整串字节一次性编码。反向粘贴时解析很宽松,多余的空格、换行、逗号、0b 与 0x 前缀都会被自动忽略,只要字节数对得上就能还原,遇到拼不成合法字符的输入会直接提示哪里出了问题,而不是默默给你一堆问号。需要反过来把 01 串读成文字,二进制转文本工具是同一套解码逻辑的单向版本。
用得最多的是计算机相关专业的学生,尤其在学《大学计算机基础》《计算机组成原理》和数据结构这几门课、要交字符编码作业的时候。第二类是做单片机、STM32 和物联网设备的嵌入式工程师,他们在串口调试助手里长期和 HEX 模式打交道,需要把一段中文指令换算成十六进制字节再发出去。第三类是后端和前端开发者,排查接口返回乱码、数据库存进去变问号这类问题时,需要看清楚原始字节到底长什么样。剩下还有一批人纯粹是图好玩,把生日或者一句话编成 01 发到微信、小红书上。
国内大部分免费转换站点把这件事拆成了四五个独立页面:文本转二进制一个页面,二进制转文本另一个页面,UTF-8 编码转换又是一个页面,进制互转再来一个。想把“你好”转成二进制,你得先在一个站查出 UTF-8 十六进制,再复制到另一个站转成 01,中间但凡少复制一个字节就前功尽弃。更麻烦的是不少老工具用的是按字符码取值的老写法,只认 ASCII,中文和 emoji 一进去就变成乱码或者报错。ToolsPivot 把这几步合并成一个页面、一次输入,同时把字符数、字节数、比特数实时显示出来,想单独换算存储单位时再配合字节单位换算工具即可。
最典型的时机是你手上有一段文字,而对方系统只接受字节层面的表示。课程作业要求写出某个汉字的 UTF-8 二进制编码、调试设备只能发十六进制、接口文档规定字段用 Base64 传输,都属于这一类。反过来,当你拿到一串看不懂的 01 或十六进制,想知道它原本是什么内容时,也是这个工具的用武场景。
背景:某高校计算机专业大一学生要在《大学计算机基础》作业里写出“中”字的 UTF-8 编码全过程。
操作流程:
效果:作业里不只给出答案,还能说明为什么首字节是 1110 开头,得分点覆盖得更完整。
背景:深圳一家做智能电表的团队,需要让 STM32 设备通过串口回传一段中文状态提示。
操作流程:
效果:上位机显示的中文不再出现方块,省掉了在代码里反复试错的时间;核对新旧固件字符串差异时再用文本对比工具过一遍。
背景:一个电商后台的订单备注字段,从小程序传到服务端后中文全变成了问号。
操作流程:
效果:问题定位从“猜哪一层出错”变成“看字节对不对”,改一处连接串编码参数就修好了。
背景:某 SaaS 服务商对接第三方物流接口,文档要求中文地址字段以 Base64 形式提交。
操作流程:
效果:联调前就排除了编码写错的可能;如果对方回传的是 Base64 图片,则改用Base64 转图片工具查看。
背景:一位在 B 站和知乎写计算机科普的博主,要讲清楚“为什么中文比英文占空间”。
操作流程:
效果:抽象概念变成可截图的对照画面,评论区追问明显减少;文中涉及纯数值进制换算时补一个二进制计算器的链接即可。
因为 ToolsPivot 用的是 UTF-8,而不少人记忆里的“一个汉字两字节”说的是 GBK 或 GB2312。这两套标准对汉字的处理方式不同:GB2312 于 1981 年发布,用两个字节表示一个汉字;UTF-8 是 Unicode 的变长实现,绝大多数常用汉字落在三字节区间。以“你好”为例,UTF-8 下是 6 个字节(E4 BD A0 E5 A5 BD),GBK 下只有 4 个字节(C4 E3 BA C3),字节数不同并不代表哪个算错了,只是标准不同。
UTF-8 三字节的模板是 1110xxxx 10xxxxxx 10xxxxxx,首字节开头连续几个 1 就代表这个字符占几个字节,后续字节统一以 10 开头。这套设计的好处是解析器读到任意一个字节都能判断自己处在字符的什么位置,不会因为丢了一个字节就把后面全部解析错。也正因为这个规律,页面里的拆解面板才能把每个字节的角色标出来。写网页时如果要处理特殊字符的转义,可以顺手用HTML 编码工具。
| 格式 | 每字节写法 | 常见用途 |
|---|---|---|
| 二进制 | 8 位补零,如 01000001 | 课程作业、考试答题、原理演示 |
| 十六进制 | 2 位,如 41 或 0x41 | 串口调试、抓包分析、固件数组 |
| 十进制 | 0 到 255,如 65 | 对照 ASCII 表、脚本里填数值 |
| 八进制 | 3 位,如 101 | Linux 权限、转义序列 |
| Base64 | 整段编码,如 SGk= | 接口传输、配置文件、邮件附件 |
选择的判断依据其实很简单:给人看还是给机器看。写作业和讲原理用二进制,位的概念最直观;和设备、抓包工具打交道用十六进制,一个字节两位读起来最省事;往 JSON、URL 或者配置文件里塞内容用 Base64,因为它输出的都是安全字符。如果只是想让人一眼看懂发生了什么,二进制永远是最好的教学选择。
看到中文变成问号或者方块,先分清是编码错了还是显示错了。把出问题的那段内容转成十六进制,如果字节里还能找到 E4、E5 这类 UTF-8 汉字首字节,说明数据是好的,只是显示端选错了编码;如果字节已经全变成 3F(问号的 ASCII 值),那数据在某一环节就已经被改坏了,往回查是哪一步做了转换。
常见的三个出错位置是:数据库连接串没写 utf8mb4、HTTP 响应头没声明字符集、以及文件保存时选了 ANSI 而不是 UTF-8。逐字节对照能把范围快速缩小到其中一处。两份文本肉眼看着一样但行为不同时,用代码差异对比工具先做一次逐行比对往往更快。
这个工具做的是编码转换,不是加密,这一点需要说清楚。二进制和 Base64 都是公开可逆的表示方式,任何人拿到都能还原成原文,所以别用它来保护密码、身份证号或者其他敏感内容。真要保护数据,请用密码加密工具这类专门的方案。
二进制转换器是把文字和二进制、十六进制、十进制、八进制、Base64 这几种编码互相转换的在线工具。它先按 UTF-8 把文字拆成字节,再把字节写成你选的进制,反过来也能把编码还原成原文。ToolsPivot 这一版两个方向同时实时进行,不需要点转换按钮。
因为这里用的是 UTF-8,常用汉字占 3 个字节,也就是 24 位。记忆中的 16 位来自 GBK 和 GB2312 标准,那两套标准用 2 个字节表示一个汉字。两个结果都对,只是编码标准不同。
可以,只要字节完整就能原样还原。把结果粘到编码那一侧的框里,左边会实时解码出原文,多余的空格和换行会被自动忽略。如果少了字节或者混进了非法字符,页面会给出提示而不是输出乱码。
支持,emoji 能完整往返。大部分表情符号在 UTF-8 下占 4 个字节,工具按标准处理,转出去再转回来内容不变。旧版本和不少同类工具在这里会出错,是因为它们按单个字符取码值,遇到 4 字节字符就拆坏了。
不会,所有转换都在你自己的浏览器里完成。页面加载后不再向服务器发送内容,关掉网络也能继续用。即便如此,涉及个人信息的内容仍建议按《个人信息保护法》的要求谨慎处理,尽量避免在任何在线工具里粘贴身份证号、手机号这类数据。
多数是因为它们只按 ASCII 处理,或者直接取字符编号而没做 UTF-8 编码。这种写法遇到超出基本范围的字符会给出错误数值,中文和 emoji 就变成了问号或方块。ToolsPivot 调用浏览器原生的编码接口生成标准字节流,从源头避开了这个问题。
不算,它只是换一种表示方式,任何人都能还原。Base64 同理,虽然看起来是一串乱字符,但解码不需要任何密钥。需要真正保护内容时应该用加密算法。
暂不支持,编码和解码都固定按 UTF-8 处理。如果你要还原的十六进制来自 GBK 数据,这里解出来会是乱码,需要用支持多编码的转换工具。这一限制是浏览器原生编码接口的设计决定的,不是配置问题。
看你要把结果贴到哪里。交作业和讲原理用空格分隔最清楚,贴进代码数组一般用逗号,串口调试助手多数接受空格或无分隔,加 0x 前缀则方便在 C 语言里直接当字面量使用。解码时这些格式都能被自动识别,不用先手动清理。
没有硬性上限,实际瓶颈是浏览器性能。几万字符以内基本感觉不到延迟,超过几十万字符时逐字节拆解面板会开始卡顿,把拆解面板折叠起来能明显改善。手机上建议单次控制在一万字符以内,想造一段测试文本可以用乱数假文生成器。
能用,也不需要注册。页面在手机浏览器和微信内置浏览器里都能正常打开,双框布局会自动变成上下排列。整站工具都不要求登录,想生成二维码分享结果可以顺手用二维码生成器。
字符数按 Unicode 码点计算,字节数是 UTF-8 编码后的实际长度,比特数等于字节数乘以 8。所以“你好”是 2 个字符、6 个字节、48 位,而 Hello 是 5 个字符、5 个字节、40 位。这个差值正是中文内容比同长度英文占更多存储空间的原因。