问题标签 [tlv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
smartcard - 无法解析智能卡获取响应 (TLV)
我一直在玩我得到的智能卡,
我在 3F00 上执行了SELECT命令,然后在GET RESPONSE命令之后
得到了这个数据:
85 17 00 01 00 00 00 12 12 00 00 01 03 01 01 00 60 60 60 00 00 00 00 00 00 90 00
我尝试解析此 TLV,但无法理解标签 85 及其含义。
java - 使用 TLV 的 SMPP 连接
我想使用 Open Smpp 协议向设备发送命令。API 人员向我提供了 ProgramID,但我没有在开放的 smpp api 中找到任何接受 programId 的方法。
在此先感谢您的帮助。
c - 如何使用 C 创建 TLV 编码/解码 msg 数据?
我正在尝试使用 C 对 tlv msg 数据进行编码/解码。实际上我是关于 TLV 格式的新手。我刚刚从谷歌找到了一些代码,我不明白它们。
append_bertlv_data:
buf_data
作为输入,指向现有缓冲区的指针,BER-TLV 数据元素应附加到该缓冲区。作为输出,指向可能重新分配的缓冲区的指针。
buf_size
分配的内存大小。
buf_len
写入缓冲区的数据长度。
我只需要了解 buf_data (缓冲区)及其义务。有人帮我吗?
asn.1 - 阅读 BERTLV 时,你什么时候停下来?
我有以下 BERTLV:
61394F0BA00000030800001001234579074F05A000012345500E49442D4F6E65205049562042494F5F50107777772E6F626572746875722E636F6D7F66080202800002028000
我正在尝试以递归方式解析它,因此我将第一部分视为 TLV。
标签: 0x61
, Len: 0x39
, 值:4F0BA00000030800001001234579074F05A000012345500E49442D4F6E65205049562042494F5F50107777772E6F626572746875722E636F6D
然后我进一步分解它,得到
标签: 0x4F
, Len: 0x0B
, 值:
A000000308000010012345
现在,我该如何停下来?在这一点上,我知道这个值是这个 TLV 的最后一段,而不是另一个嵌套的 TLV。
c# - 解析 MagTek EMV TLV
我在一个项目中使用 MagTek DynaPro 读取信用卡数据并将其输入会计系统(不是我在这个项目上的第一篇文章)。我已经成功地利用Dukpt.NET来解密 MSR 数据,这很好 ( https://github.com/sgbj/Dukpt.NET )。所以我开始着手获取 EMV 数据,并使用以下 MagTek 文档作为 TLV 结构参考:https ://www.magtek.com/content/documentationfiles/d99875585.pdf (从第 89 页开始)。但是,我无法读取数据。
我尝试使用BerTlv.NET ( https://github.com/kspearrin/BerTlv.NET ) 来处理数据解析,但是当我将 TLV 字节数组传递给它时,它总是会引发异常。具体来说,这就是我得到的:
我还尝试通过其他一些实用程序运行数据以将其解析出来,但它们似乎也都会抛出错误。所以,我想我只能自己尝试解析它,但我不确定完成它的最有效方法。在某些情况下,我知道要读取多少字节才能获得数据长度,但在其他情况下,我不知道会发生什么。
此外,当破坏一些数据时,我进入F9标签,在它和DFDF54标签之间,十六进制读取为 8201B3。现在,考虑到完整消息长度的前两个字节是 01B7,01B3 是有意义的,但我不理解 82。我不能假设这是“EMV 应用程序交换配置文件”的标签,因为它列在F2下标签下。
此外,还有一些零填充(我认为最多可达 8 个字节)和最后的 4 个字节的其他内容,一开始就被排除在两字节消息长度之外。我不确定传递给解析器的数据是否会导致问题。
java - 发现错误的LRC
我想为以下消息计算 LRC(在 JAVA 中):
我的 LRC 应该是“D5”= 213 但我的代码计算为 232 :( 我不知道我在哪里做错了。
java - 从 Android 设备向 Windows CE 设备发送/获取字符串数据?
如何使用带有 JAVA 代码的 RS232 从 android 设备向 Windows CE 设备发送/获取字符串数据?
ios - 在 TLV8 中准备数据
我正在编写 TLV8 格式的 HomeKit(可能是蓝牙)特性。苹果文档说
该值是一个 NSData 对象,其中包含一组一个或多个 TLV8,它们是具有 8 位类型、8 位长度和 N 字节值的打包类型长度值项。
根据维基百科,类型长度值为
类型
一个二进制代码,通常是简单的字母数字,表示这部分消息所代表的字段类型;
长度
值字段的大小(通常以字节为单位);
价值
可变大小的字节序列,其中包含这部分消息的数据。
我不知道如何包装一个。我想我可以将原始字节写入 NSData,但是我应该为 pad 写什么,如果我需要任何填充等。那么有没有一个如何做到这一点的例子?
java - 如何从 Java 程序中的 tlv 文件中读取数据?
产品应该送到虚构的商店。没有商店后端实例。
产品数量未指定。只要确保每家商店都能买到他们所销售的东西——如果需要,一种产品可以运送到多个商店。
产品交付后,应打印一份报告,列出商店及其分类。店铺名单:
附加文件包含具有 tlv 格式的属性名称和类别的产品定义。该文件不包含垃圾,因此不需要错误处理。不过也不是禁止的。
tlv 格式规范如下:
标签说明如下:
如果标签标识符的最高有效位在,则表示该值数据由多个 tlv 值组成。
一种产品的例子:
我是 Java 新手,知道如何从 csv 文件中读取文本,但不知道如何读取 tlv。任何线索或帮助将不胜感激。剩下的任务我可以自己做。我发布了整个任务描述只是为了了解它是什么。