二进制与 XML plist 类型检查
读取本地 plist 的全部对象和引用,保留整数宽度、符号、浮点原始位与完整类型 JSON 报告。
- 1添加输入
- 2确认后运行
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
检查一个bplist00或UTF8 Apple XML plist,不实例化归档类。校验全部二进制对象,包括未引用对象;下载报告保留类型根、完整对象目录、原始引用及源SHA256。
如何使用
- 选择一个本地二进制或XML plist。
- 查看根类型、校验对象、未引用对象与明确原始数值政策。
- 下载完整类型JSON,检查全部对象/引用,而非仅看有界预览。
支持范围与限制
一个8MiB文件;最多100,000个二进制对象或XML元素、64层容器,每个被校验对象/根展开最多200,000次访问;二进制物理引用额外最多200,000个。各预算同时适用;完整类型JSON≤32MiB,在重复序列化共享引用前先校验。
支持二进制null、布尔、ASCII/合法UTF16BE字符串、data、数组、唯一字符串键字典、有限float32/64、date及≤8字节UID。1/2/4字节整数按无符号、8/16字节按有符号解码,保留十进制字符串、宽度、符号与rawHex。原始128位值不承诺统一NSObject解释,UID仅为惰性数值数据。
XML1.0 UTF8必须为plist version1.0,只接受已定义声明及标准Apple外部doctype且绝不抓取。未知属性、标签、PI、自定义DTD/实体或类型均拒绝。XML整数保留词面及−2^127…2^128−1十进制值,不推断二进制宽度/符号;Base64填充位须规范,字典顺序保留。
日期保留二进制秒数/IEEE64位或完整XML UTC词面YYYY-MM-DDTHH:mm:ss[.fraction]Z;XML年份0001–9999、不支持闰秒。ISO预览先把原二进制秒数或XML小数秒舍入到最近毫秒,中点远离零,再加对应纪元/日期,须落在JavaScript ISO日期范围内。报告仍保留输入全部小数精度。
循环、截断/重叠/重复偏移、坏引用、未引用对象中的未知标记、非有限浮点及非法UTF16均整份拒绝。只预览根值200个节点、每格2,000个UTF16单位;完整JSON包含全部对象与引用。仅只读解析,不回写、不执行NSKeyedArchiver,也不输出信任/安全结论。
操作示例
示例输入
Apple XML dict: date2026-10-07T00:00:00.999999999999Z, real-0 and integer00018446744073709551615.
示例参数
{}示例输出
保留原12位小数、负零位与整数词面;ISO预览为2026-10-07T00:00:01.000Z,整数值为精确十进制字符串18446744073709551615。
出现问题时
在所属应用中修正或导出受支持plist,或缩减结构/输出大小后重试。循环、坏未引用对象、非法编码或取消均不产生部分成功报告。
常见问题
大整数可以安全当作JavaScript数字读取吗?
使用十进制字符串和rawHex;宽度/符号单独保留,转换为浮点数字可能丢失精度。
UID或归档类会被执行吗?
不会;UID保留为无符号数值数据,不实例化归档对象。