javascript - 适用于 Javascript 的 EMVCo TLV 字符串解析器库

标签 javascript node.js parsing tags tlv

我想解析 TLV 字符串并在给出标签值时获取值。

示例:

000201021642333310011114235204546757034445802IN5910My Company6005Vegas6304bb02

根据 TLV 规则,标签 52 的值为 5467,标签 57 的值为 333。

最佳答案

var str = '000201021642333310011114235204546757034445802IN5910My Company6005Vegas6304bb02';
var headerLength = 6; // assuming header length is always 6
var header = str.substring(0, 6);

var tags = [];

// start after header
var i = 6;
while (i < str.length) {
    var tag = str.substring(i, i + 2);
    i += 2;
    var valueLength = Number(str.substring(i, i + 2));
    i += 2;
    var value = str.substring(i, i + valueLength);
    i += valueLength;
    tags.push({tag: tag, value: value});
}

关于javascript - 适用于 Javascript 的 EMVCo TLV 字符串解析器库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52401638/

相关文章:

javascript - 获取div的值并解析为整数以进行计算

javascript - 在超链接中使用 href 而不是 onClick - Javascript

javascript - 在几个功能上分享很多要点的最佳方式?

javascript - XMLHttpRequest - 发送文件?

javascript - 在 Javascript 中按大写字母拆分

node.js - 预编译模板对非 Node 站点有用吗?

node.js - 工作线程在第一条消息后不会响应?

objective-c - 将 URL 解析到服务器时无法处理方括号 (=[])

node.js - 在 node.js 的子进程中使用 vim 时出现 stdio/管道问题

php - 使用 PHP 在长字符串中查找日期