文件处理

中文 Data URL 解包后,为什么是七个字节

极捷工具编辑 · 更新于

用中文加换行与二进制样例,核对 Data URL 的声明、编码和原始字节,再下载副本。

打开Data URL 解包 →

操作步骤

  1. 打开“Data URL 解包”,点击“载入中文文本示例”。输入框会填入 data:text/plain;charset=utf-8,%E4%BD%A0%E5%A5%BD%0A,此时还没有解析结果。不要把 CSS 的 url(...) 或引号一并粘贴进去。
  2. 点击“解析并核对”,确认媒体声明为 text/plain;charset=utf-8,编码为“百分号字节”,还原大小为7字节。十六进制应为 e4 bd a0 e5 a5 bd 0a,纯文本视图显示“你好”并带一个换行。
  3. 点击“下载原始字节(unpacked.bin)”。用支持UTF-8的文本或十六进制编辑器核对副本。下载统一为.bin;确认来源和实际格式后才决定扩展名,不根据MIME声明盲目打开未知文件。
  4. 点击“载入二进制字节示例”,旧结果会消失。再次解析 data:application/octet-stream;base64,AAEC/w==,确认4字节和00 01 02 ff;FF不是合法独立UTF-8字节,因此没有UTF-8视图,但仍可下载原始字节。
  5. 把输入改成 data:text/plain;base64,AB== 再解析,确认出现填充位不规范错误,旧下载不再显示。这里要求标准Base64字母表、完整填充和规范填充位,不能靠添加字符猜测恢复截断内容。
  6. 处理自己的输入前保留原文;每次最多1,500,000字符,解包结果最多1MiB。记录字节数和已知格式,若需转换旧文本编码,可把下载副本交给本站“文本文件转UTF-8”;本页不会按charset重编码。

跟着示例试一次

“你”和“好”各占三个UTF-8字节,末尾LF占一个,共7字节,不是三个字符就等于3字节。浏览器真实下载已用独立字节读取核对为E4 BD A0 E5 A5 BD 0A。二进制样例AAEC/w==解码为00 01 02 FF共4字节,不能把编码字符串长度当文件大小。

data:text/plain;charset=utf-8,%E4%BD%A0%E5%A5%BD%0A
data:application/octet-stream;base64,AAEC/w==

怎样确认结果正确

百分号按原始字节解释,不要求它们组成UTF-8;data:,%FF可下载一个FF字节,但没有UTF-8视图。data:,a+b%2Cc得到a+b,c,加号不按表单规则变成空格。仅在结果不超过64KiB且严格UTF-8解码成功时显示全文纯文本,十六进制最多前64字节。模型与Node Buffer独立对照覆盖空文件、不同余数和1MiB边界。格式依据RFC2397:https://www.rfc-editor.org/rfc/rfc2397 。

常见问题与边界

不接收远程网址、裸Base64、URL-safe变体、缺填充或带空白Base64;原文中的空白、非ASCII、#和?需百分号编码。元数据最多1024个ASCII字符,只支持本页声明的严格子集,不承诺兼容所有宽松解析行为。MIME和charset只是声明,不鉴定格式、不杀毒、不修复、不执行HTML/SVG或加载图片,name参数不会作为文件名。输入与结果只在本页内存中处理,不上传、不自动保存,刷新即清除;下载副本仍可能含敏感数据。