赞
踩
【编程题目 | 100分】TLV解析Ⅰ [ 100 / 中等 ]
示例 1 :
31
32 01 00 AE 90 02 00 01 02 30 03 00 AB 32 31 31 02 00 32 33 33 01 00 CC
32 33
字符串转整数时,可以直接转为对应进制的整数。注意是小端,小的在后面。
Java代码实现:
import java.util.Scanner;
public class TLVAnalyize1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String tag = in.nextLine();
String[] tlv = in.nextLine().split(" ");
for (int i = 0; i < tlv.length; ) {
int length = Integer.parseInt(tlv[i + 2] + tlv[i + 1], 16); // 将字符串的Length转为16进制,小端,需要反过来
if (tag.equals(tlv[i])) {
StringBuilder sb = new StringBuilder();
for (int j = i + 3; j < i + 3 + length; j++) {
sb.append(tlv[j]).append(" ");
}
System.out.println(sb.toString());
break;
} else {
i += length + 3;
}
}
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。