UTF-8/UTF-16 字节计算器
快速比较 UTF-8 与 UTF-16 字节占用,支持 BOM 选项,并提供逐字符明细定位高字节字符。
UTF-8/UTF-16 字节计算器
快速比较同一段文本在 UTF-8 与 UTF-16 下的字节占用,并用逐字符明细定位哪些字符最“费字节”。
文本输入
字符数(Unicode 码点)
0
UTF-16 代码单元
0
UTF-8 字节
0
UTF-16 字节
0
差值(UTF-8 – UTF-16)
0
UTF-8 与 UTF-16 字节对比(条形图)
点击计算后会更新图表。相同数据也会在下方表格中显示。
编码汇总表
| 项目 | 字节 | 说明 |
|---|---|---|
| 请先计算后查看 UTF-8/UTF-16 汇总数据。 | ||
逐字符明细表
| # | 字符 | 码点 | UTF-8 | UTF-16 | UTF-16 位置 | 说明 |
|---|---|---|---|---|---|---|
| 请先计算后查看逐字符分析。 | ||||||
所有计算都在浏览器本地完成,输入文本不会发送到服务器。
什么是 UTF-8/UTF-16 字节计算器?
UTF-8/UTF-16 字节计算器用于比较同一段文本在不同编码下的字节占用,适合在 API、数据库字段、消息通道等按字节计量的场景中做上线前校验。
除了总字节数,工具还提供逐字符明细,方便快速定位 emoji、中文、符号等字符带来的字节增量。
适用场景
- 校验字符串是否超过接口或数据库的字节上限
- 估算包含多语言与 emoji 的消息体大小
- 比较 UTF-8 与 UTF-16 的存储/传输成本
- 确认 BOM 开关对文件大小的影响
- 按字符级别排查字节突增问题
主要功能
- 摘要卡片:集中展示字符数、代码单元、UTF-8/UTF-16 总字节与差值
- 条形图:直观看出 UTF-8 与 UTF-16 的总字节对比
- 汇总表:同时显示 BOM 关闭/启用时的结果
- 明细表:逐字符显示码点、UTF-8/UTF-16 字节、UTF-16 位置
- 复制结果:一键复制核心指标,便于文档与工单沟通
使用方法
- 输入或粘贴要分析的文本。
- 如果实际输出包含 BOM,可勾选对应 BOM 选项。
- 点击计算,卡片、图表和表格会同步更新。
- 查看明细表,找出占字节高的字符。
- 需要分享时,使用复制结果快速输出。
计算规则
- UTF-8:每个字符 1~4 字节(ASCII 通常 1,emoji 通常 4)
- UTF-16:每个代码单元 2 字节,增补平面字符会使用 4 字节(代理对)
- BOM:UTF-8 可选 +3 字节,UTF-16 可选 +2 字节
若图表脚本加载失败,结果仍会在文字与表格中完整显示,不影响判读。
常见问题
为什么 UTF-8 和 UTF-16 的字节数会不一样?
两种编码方式对字符的表示规则不同。ASCII 较多时 UTF-8 往往更小,而在部分字符组合下 UTF-16 可能接近甚至更小。
为什么字符数和 UTF-16 代码单元数可能不同?
许多 emoji 等增补平面字符在 UTF-16 中会占用两个代码单元,因此代码单元数可能大于字符数。
什么时候需要勾选 BOM 选项?
只有当你的真实输出会包含 BOM 时才建议勾选。多数 API/数据库字符串校验通常不包含 BOM。
我输入的文本会上传到服务器吗?
不会。所有计算都在浏览器本地执行,输入内容不会发送到服务器。
UTF-16LE 和 UTF-16BE 的总字节数会不同吗?
同一段文本的总字节数通常相同。LE/BE 只影响字节序,不改变整体数据长度。