我想解析TLV字符串并在提供标签值时获取值。
样品:
000201021642333310011114235204546757034445802IN5910我的
公司6005Vegas6304bb02
根据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});
}