Google App引擎十六进制解码问题

时间:2011-01-14 03:37:30

标签: google-app-engine hex decode

我遇到将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引擎,这不起作用。

任何人都知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

App Engine的默认编码可能与您的预期不符。从数据字节数组构造最终的String时,传递正确的编码(UTF-8,UTF-16等)。