ISO 8583 Parser
免费 · 解析器 · 约 5 分钟 · 更新于 2026-08-09
在线工具

Visa BASE II CTF 清算文件解析器

把 Visa BASE II CTF 文件拖进来,按交易读,而不是数定长字段。同一笔交易的多行会被聚合成一块。

你的文件完全在这个浏览器标签页内解析,用的是纯客户端 JavaScript,不上传、不存储、不记录。清算文件里是真实卡号和真实交易数据——这正是这个工具没有服务端的原因。

如果结果整体错位,是记录长度不对——CTF 一般是每条 168 字节,但中途被重新折行过的文件就不是。

CTF 文件里有什么

定长记录
没有位图,也没有长度前缀。每条记录一样宽(一般 168 字节),每个字段在固定偏移上。记录长度填错,所有字段会整体偏移同样的量——看起来像乱码,而不像报错。

TC / TCQ / TCR
前四个字符定性:两位交易码(TC)说明这是哪类交易,限定符(TCQ)进一步细分,TCR 号说明这一行承载的是这笔交易的哪一段。

一笔交易横跨多行
TCR 0 开启一笔交易并承载金额相关信息:卡号、金额、币种、授权码、商户。TCR 1 和 TCR 4 承载同一笔交易的补充信息。本工具会把它们归组,所以占三行的一笔交易读起来是一块。

EBCDIC
从主机上导出的文件是 EBCDIC 不是 ASCII:数字落在 0xF00xF9 而不是 0x300x39。如果文本解出来是一堆标点,手动切换编码。

怎么读结果

每笔交易是一张卡片,上面是交易码、受理方参考号和金额。展开可以看逐字段拆解、原始行和 JSON。

卡号在页面上是脱敏的——前六后四。CSV 导出默认也脱敏,除非你勾选那个选项;勾之前最好有个理由:下载目录里一份明文卡号清单,正是你们安全评审要盯的东西。

金额按该币种的最小单位指数换算,不是一律除以 100。日元 1000 是 ¥1000,不是 ¥10.00——哪些币种不是两位,见货币指数速查表

这个工具不做什么

它读交易记录,不读报表。结算与对账报表文件是另一种格式,这里不处理。

它只覆盖一部分字段。标出名字的是能回答日常问题的那些——哪张卡、多少钱、哪个商户、哪个授权码。一条记录承载的内容比这多,其它 TCR 号以原始行呈现,不做解析。

据此下判断之前,请用你自己的规范核对。字段位置在不同报文族、不同处理机构之间并不一致。本页与你的对端给你的规范不符时,以你的规范为准

延伸阅读

有不能上传的清算文件?离线版 →