2

我正在寻找一种在 Java 中将十六进制转换为 ascii 的方法。一个例子:

               byte temps[] = new byte[4];

               temps[0] = 0x74;
               temps[1] = 0x65;
               temps[2] = 0x73;
               temps[3] = 0x74;

               String foo = ..(temps);
               System.out.print(foo);

那应该输出“测试”。任何人的想法?

我感谢每一个帮助!

4

2 回答 2

5

你的意思是像String(byte[] bytes, String encoding)

但是注意那些编码!您正在获取一组字节,您需要指定如何将它们编码为字符。您可以使用使用默认编码的上述版本,但(取决于您的应用程序)可能会导致您进一步悲痛。所以我通常会指定一个编码(最常见的是 UTF-8)。

我注意到您指定了 byte-to-ASCII,所以我会明确指定 ASCII encoding Charset.US-ASCII。不要依赖 JVM 运行的编码!

于 2009-07-26T12:14:29.363 回答
1
String foo = new String(temps);
于 2009-07-26T12:14:52.203 回答