2011-01-14 12 views
0

Ich habe Problem mit Dekodierung Hex-String-Wert auf String-Konvertierung.Google App-Engine Hexadezimal-Dekodierungsproblem

Wenn Eingang ist:

687474703a2f2f7777772e676f6f676c652e6c6b2f 

Hier ist meine Dekodierlogik:

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); 
} 

dieses gut funktioniert mit jeder anderen Java-Anwendung, aber für Google App Engine dies nicht funktioniert.

Wer weiß, warum das passiert ist?

+2

Warum funktioniert es nicht? Was geschieht? – SLaks

+0

Eingang und Ausgang sind gleich. erwartete Ausgabe ist: http://www.google.lk – Chandana

Antwort

1

Die Standardcodierung von App Engine entspricht möglicherweise nicht Ihren Erwartungen. Wenn Sie den letzten String aus Ihrem Datenbyte-Array erstellen, übergeben Sie die richtige Codierung (UTF-8, UTF-16 usw.).