iOS / Android / 移动开发

APNs Token 格式化

先选择输入进制,再将同一串字节整理为连续十六进制、分字节文本或十进制数组。

APNs Token 格式化

令牌输入

hex 可含一层 <…> 与 ASCII 空白;十进制只接受 0–255 无符号字节。

格式结果

计数只说明输入格式,不证明 APNs 令牌有效。

在浏览器本地处理,输入不会发送或保存。

选项

请输入完整的字节序列。

APNs Token 格式化适合排查设备日志与推送后台显示方式不同的问题。开头的 00 也是实际字节,不能把整段令牌当作一个整数转换,否则很容易丢失前导零。

请从注册回调取得完整数据。调试描述可能只有摘要;如果日志已经省略了中间内容,删除括号与空格并不能找回那些字节。

为什么使用 APNs Token 格式化

只整理包装,不改字节

APNs Token 格式化仅移除约定的空白和一层完整外尖括号。遇到非十六进制字符会保留错误位置,不会先删光字符再假装成功;字节顺序和前导零保持不变。

带括号与空隙的字节格变成连续排列,开头的零值格与先后顺序保持一致。

用字节表示交叉核对

同一个 deviceToken 十六进制字符串也能写成十进制字节数组。切换结果表示便于与无符号字节转储对照,大写和小写只影响十六进制字母,不会把令牌解码成文字。

三种不同分组形式指向同一组有序字节格,表示改变但数据相同。

先分清进制,再检查字节

01

明确 10 的含义

hex 模式下的 10 是十进制 16;十进制模式下的 10 才表示十。工具不会根据数字猜进制,先选输入格式再粘贴。

02

需要逐项检查时关闭自动

自动转换会等待编辑结束约 350ms。关闭后可用 Ctrl/Cmd + Enter 执行;修改输入或参数会立即禁用旧结果的复制与下载。

03

导出前核对零值字节

用分字节 hex 查看开头的 00,或用十进制数组对照原始无符号字节。示例和清空先展示替换预览,应用后可撤销一次,同时恢复输入与结果。

同一数据的三种表示

每个字节固定输出两位

00 01 ff 会输出为 0001ff,不会缩成 1ff。这里的两位约束针对单个字节,与整条 APNs Device Token 的长度没有关系。

十进制语法单独处理

数值范围为 0–255。有逗号时,每段只能包含一个整数,段首尾可有空白;没有逗号时可用空白分隔。可选外层方括号,不接受 1 2,3 这样的混合写法。

错误定位回到原文

非法字符、括号不成对、奇数个 hex 字符和越界字节都会报出行列位置。计算不改写输入,便于回到原日志找到真正出错的位置。

格式整理的能力边界

长度只显示,不判合格
Apple 明确设备令牌长度可变。本工具不要求 32 字节或 64 个十六进制字符,任何非空且在输入预算内的字节序列都可以格式化。
不猜测缺失内容
hex 只接受 ASCII 空白与一层完整外尖括号。0x 前缀、引号、冒号、逗号和省略号都报错;不补齐奇数位,也不删除任意非 hex 内容。
不透明令牌不是可读文本
不转换 JWT、FCM 令牌、Base64 或广播频道 ID,不解码字符编码,也不从字节提取设备身份、环境或消息内容。
不能证明推送可达
成功仅表示输入语法可转换。注册状态、topic、沙盒或生产环境以及提供方认证要分别核查。页面不收证书或密钥,也没有发送推送入口。
单段文本与应用预算
最多接受 65,536 个 UTF-16 代码单元,超限直接报错,不截断。没有文件或 URL 导入、批量多令牌、持久历史。十进制拒绝负数、前导零、小数和科学计数。

APNs Token 格式化常见问题

如何把 NSData 设备令牌转换成字符串?

应读取完整原始字节,为每个字节生成两位十六进制字符。在这里可以粘贴完整 hex 或无符号十进制数组,并选择对应输入模式;不要把截断的 NSData 调试描述当成数据源。

iPhone 设备令牌长度是多少?

Apple 说明长度可变,不能把常见长度写成固定保证。本页统计实际输入的字节数量,不根据这个数字判断令牌是否有效。

能验证 APNs 或 GCM 设备令牌吗?

不能只看外观就验证注册状态。本页仅检查 APNs 设备令牌的字节表示语法,不验证注册有效性,也不解析 GCM 或 FCM 令牌。

出现 BadDeviceToken 时应使用什么格式?

设备令牌需要用十六进制字节串表示。检查值是否完整,并在发送端核对环境与 topic。删除空格只能解决格式问题,不能解释所有 BadDeviceToken 原因。

APNs 返回的设备令牌显示格式为什么变了?

调试描述不是稳定的数据序列化约定。应从注册回调读取字节并明确编码;若描述包含省略号或长度摘要,本工具无法恢复未显示的部分。

发现编码或解析问题?

整理下一段设备令牌

使用 APNs Token 格式化核对实际拿到的字节,再选择下一步需要的表示并复制当前结果。