Javascript - Kodierung von String zu HEX

ich habe meine Funktion zum konvertieren von string zu hex:

function encode(str){
    str = encodeURIComponent(str).split('%').join('');
    return str.toLowerCase();
}

Beispiel:

守护村子

alert(encode('守护村子'));

die Ausgabe wäre:

e5ae88e68aa4e69d91e5ad90

Es funktioniert auf chinesische Zeichen. Aber wenn ich das mit englischen Buchstaben

alert(encode('Hello World'));

it-Ausgänge:

hello20world

Ich habe versucht, diese für die Konvertierung von string zu hex:

function String2Hex(tmp) {
    var str = '';
    for(var i = 0; i < tmp.length; i++) {
        str += tmp[i].charCodeAt(0).toString(16);
    }
    return str;
}

dann versucht es auf die chinesischen Zeichen oben, aber gibt es die UTF-8 HEX:

5b8862a467515b50

nicht die ANSI Hex:

e5ae88e68aa4e69d91e5ad90

Ich habe auch gesucht UFT8 konvertieren zu ANSI-aber kein Glück.
Könnte jemand mir helfen? Danke!

check out this Antwort. Ich denke, es könnte das sein, was du bist suchen für.
Danke, aber es ist nicht die Antwort, es ist ähnlich wie die String2Hex Funktion oben, das gibt die utf8-hex-code nicht ansi hex-code. Aber trotzdem danke.
Versuchen Sie die Umwandlung der text in latin1 mit tmp = unescape(encodeURIComponent(str))
Mögliche Duplikate von Javascript: Unicode-string zu hex

InformationsquelleAutor John Pangilinan | 2016-04-15

Schreibe einen Kommentar