是否有BER-TLV的Java解析器?

Zha*_*rro 6 java parsing tlv

我是Java新手,所以我想使用标准解决方案,我认为,标准任务.标签和值的长度未知.

Mak*_*iuk 5

你可以使用这个 BER-TLV parser: source code on git
示例:

如何解析

byte[] bytes = HexUtil.parseHex("50045649534157131000023100000033D44122011003400000481F");
BerTlvParser parser = new BerTlvParser(LOG);
BerTlvs tlvs = parser.parse(bytes, 0, bytes.length);
Run Code Online (Sandbox Code Playgroud)

如何构建

byte[] bytes =  new BerTlvBuilder()
                .addHex(new BerTag(0x50), "56495341")
                .addHex(new BerTag(0x57), "1000023100000033D44122011003400000481F")
                .buildArray();
Run Code Online (Sandbox Code Playgroud)

Maven 依赖

<dependency>
  <groupId>com.payneteasy</groupId>
  <artifactId>ber-tlv</artifactId>
  <version>1.0-10</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)


Aym*_*man 0

我找到了BER TLV 的Javacard类。希望那些有帮助