解析银联55域

该博客详细介绍了如何解析IC卡中的55域,特别是针对银联和POS应用。通过Java代码实现了解析过程,包括获取tag、leng和value的步骤,处理了不同长度格式的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.HashMap;
import java.util.Map;

/**
 * Created by zn on 2018/5/8.
 */
public class ISO8583Util {
    /**
     * 解析IC卡55域(银联、POS通用)
     *
     * @param f55
     * @return Map<tag, value></>
     * @throws Exception 关于55域
     *                   1、tag:1~2字节,左边第一字节的右5bit 为 11111,则tag占2字节,否则占1字节 (两字节一般格式 xFxx)
     *                   2、leng:1~3字节,左边字节最左bit为0,则剩下的7bit表示长度,范围 1~127
     *                   左边字节最左bit为1,则剩下的7bit表示长度的长度,如 10000001,表示后面还有1个字节的长度,范围 128~255
     *                   现在最多leng是3个字节,也就是左边字节只能是 0x80(右1字节长度)、0x81(右2字节长度)
     *                   3、value:
     */
    public static Map<String, String> decodeF55(byte[] f55) throws Exception {
        Map map = new HashMap<>();
        int offset = 0;
        while (offset <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值