Hex-String wird im URL-Parameter gesendet und versucht, ihn auf der Serverseite in einen String umzuwandeln.
Benutzereingabe-String wird mithilfe des folgenden Javascript-Codierungscodes konvertiert
function encode(string) {
var number = "";
var length = string.trim().length;
string = string.trim();
for (var i = 0; i < length; i++) {
number += string.charCodeAt(i).toString(16);
}
return number;
}
Jetzt versuche ich, den Hex-String 419 für das russische Zeichen Й im Java-Code wie folgt zu analysieren
byte[] bytes = "".getBytes();
try {
bytes = Hex.decodeHex(hex.toCharArray());
sb.append(new String(bytes,"UTF-8"));
} catch (DecoderException e) {
e.printStackTrace(); // Here it gives error 'Odd number of characters'
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
aber es gibt folgenden Fehler
"org.apache.commons.codec.DecoderException: Odd number of characters."
Wie es gelöst werden kann. Da es viele russische Zeichen gibt, die einen dreistelligen Hex-Code haben, ist eine Konvertierung in .toCharArray().
Org.apache.commons.codec.DecoderException: Ungerade Anzahl von Zeichen ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post