ISO 8583 Parser
免费 · 解析器 · 更新于 2026-08-09
在线速查

EMV TLV 解析器 — 在线拆 BER-TLV 串

粘贴十六进制,直接得到一棵树:每个标签的名字、长度、值,嵌套模板自动展开,长度越界会明确标出。位串标签带一个链接,点一下就把值送进为它准备的解码器。

试试:

标签、长度、值,以及嵌套

BER-TLV 就是三段重复:标签、长度、然后是那么多字节的值。手工拆容易错在两处。标签首字节低 5 位全为 1(1F 掩码)时会往后续字节延伸,这就是 9F26 是两字节而 95 是一字节的原因。长度字节最高位置位时,它本身不是长度,而是说「后面几个字节才是长度」——值超过 127 字节就得这么表示。

标签首字节第 6 位置位的是构造型标签:它的值本身又是一串 TLV。这个工具会就地展开,所以 FCI 模板或者格式 2 响应出来是一棵树,不是一大坨十六进制。

那些「值不是值」的标签

EMV 里有一批标签装的是位串而不是可读数据:TVR(95)、AIP(82)、TSI(9B)、CID(9F27)、CVM Results(9F34)、CVM List(8E)、IAD(9F10)、ATC(9F36)。一般的 TLV 工具把十六进制列出来就结束了——而排查恰恰是从这里才开始。

遇到这些标签,本页会加一个链接,点开就是对应的解码器,值已经填好。不用复制、不用切页粘贴:点解这个值直接读位。

粘贴时最常出的两种错

把长度前缀一起粘进来了。日志里的 DE55 经常连着自己的长度一起打印。那样喂进来,第一个「标签」其实是长度数字,后面全部错位。如果第一个标签看着莫名其妙,把开头两位或四位去掉再试。

数据被截断了。日志截断会导致某个长度跑到数据末尾之外。本页会明确标出在哪一处越界,而不是悄悄返回一棵短树——这样你才分得清该怪解析器还是怪抓包。

数据不出浏览器。解析全在本页的 JavaScript 里跑,所以真实卡数据也可以粘进来。不过如果你们的规定是真实卡号绝不碰网站,离线版存在的意义正是让你能证明这一点。