gpt4 book ai didi

java - 使用 DatatypeConverter.parseHexBinary() 时出现 NullPointerException

转载 作者:行者123 更新时间:2023-11-30 04:23:24 24 4
gpt4 key购买 nike

我使用 javax.xml.bind.DatatypeConverter 的 parseHexBinary 方法,但它给了我

java.lang.NullPointerException
at javax.xml.bind.DatatypeConverter.parseHexBinary(DatatypeConverter.java:310)
at Test.main(Test.java:12)

当我使用 Java 版本 1.6.0_01 但在 Eclipse 中使用 Java v1.6.0.05 时工作正常。

在 v1.6.0_01 中还有其他方法可以做到这一点吗?否则我将不得不升级。

import java.nio.charset.Charset;

public class Test{

public static void main(String[] args) {

try {
String str1 = "F3F0";
Charset charset = Charset.forName("Cp037");
String s;

byte b[] = javax.xml.bind.DatatypeConverter.parseHexBinary(str1);
s = new String(b,charset); //cbuf.toString();
System.out.println("String is: " + s);

} catch (Exception e) {
e.printStackTrace();
}
}
}

最佳答案

你可以像这样创建一个自定义函数

byte[] parseHex(String str) {
byte[] a = new BigInteger(str, 16).toByteArray();
if (a.length != str.length() / 2) {
a = Arrays.copyOfRange(a, 1, a.length);
}
return a;
}

关于java - 使用 DatatypeConverter.parseHexBinary() 时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16437570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com