Движок Google App проблема шестнадцатеричного декодирования - PullRequest
0 голосов
/ 14 января 2011

У меня проблема с преобразованием значения шестнадцатеричного значения в строку.

Если ввод:

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 Ответ

1 голос
/ 14 января 2011

Кодировка App Engine по умолчанию может отличаться от ожидаемой. Когда вы создаете окончательную строку из вашего байтового массива данных, передайте правильную кодировку (UTF-8, UTF-16 и т. Д.).

...