我遇到将Hex String值解码为String转换的问题。
如果输入为:
687474703a2f2f7777772e676f6f676c652e6c6b2f
这是我的解码逻辑:
private static String hexStringToByteArray(String s) {
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i+1), 16));
}
return new String(data);
}
这个适用于任何其他Java应用程序,但对于Google App引擎,这不起作用。
任何人都知道为什么会这样吗?
答案 0 :(得分:1)
App Engine的默认编码可能与您的预期不符。从数据字节数组构造最终的String时,传递正确的编码(UTF-8,UTF-16等)。