【发布时间】:2017-07-21 10:14:49
【问题描述】:
我正在尝试转换由十六进制数据组成的字符串,例如C120,这分别表示A 和(空格)。我正在获取字符串并尝试将其拆分为字符串数组。然后我试图迭代这个数组并获得相应的UTF-8 值。以下是我的代码:
public static String toEbcdic(String strToConvert){
String[] test = strToConvert.split("(?<=\\G..)");
ByteBuffer sb = ByteBuffer.allocate(test.length);
for (String s : test) {
Byte valueOf = Byte.valueOf(s, 10);
sb.put(valueOf);
}
return new String(sb.array(), "CP1047");
}
当通过输入C120C2,我得到以下异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "C1"
我做错了什么?应该怎么做才能得到对应的EBCDIC值?
【问题讨论】: