将字符串转换为十六进制,并使用不同的编码

时间:2012-04-24 07:24:09

标签: java string hex byte

我想将String值转换为十六进制,然后返回到它的ascii值。 当我将它转换为十六进制值时,我正在用字符集进行 - cp424

这就是我想要做的事情:

String str = "abcאבג";               
String hexString = Hex.encodeHexString(str.getBytes("cp424")); 
//some action         
String original_value = Hex.decodeHex(hexString.toCharArray()).toString();

我的问题是因为我在转换为十六进制时使用cp424我需要在转换回来时将其恢复到defult charset。我在很多方面尝试过这种转换,但没有得到正确的值。

怎么办呢?如何从十六进制值中取回原始值

感谢提前。

1 个答案:

答案 0 :(得分:1)

使用String(byte[] bytes, String charsetName)构造函数创建original_value

String original_value = new String(Hex.decodeHex(hexString.toCharArray()), "cp424");