Dieser Artikel beschreibt die Methode der Implementierung von Base64-Codierung von UTF-8 in chinesischen Zeichenfolgen. Teilen Sie es für Ihre Referenz wie folgt weiter:
Zeichenfolge, die codiert werden soll: "Benutzername vom Benutzer auswählen"
Verwenden Sie Java für Codierung, Java -Programm:
String SQL = "Benutzername aus dem Benutzer auswählen"; String codestern = new String (Base64.Encodes (SQL.getBytes ("UTF-8")); // Codierung system.out.println (codestern);erhalten:
C2VSZWN0IOEUQOAIT+WQJSBMCM9TIOUQOAITW ==
Dekodieren in Java:
SQL = New String (Base64.Decode (SQL.GetByTes ()), "UTF-8");
Warum GetBytes ("UTF-8") im Java-Code verwenden? Da sich die Standardcodierungen in Windows- und Linux -Umgebungen unterschiedlich unterscheiden, müssen Sie die Codierung angeben, damit Ihr Programm die gleiche Kodierung auf verschiedenen Plattformen erhalten muss.
Obwohl die Codierung von HTML und JS beide UTF-8 sind, ist die von JS von der Seite erhaltene chinesische Codierung UTF-16, sodass chinesisch mit Base64 direkt codiert wird.
<! DocType html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transsitional.dtd"> <html xmlns = "http://www.w3.org/1999/xhtml"> <kopf> <title> </title> <meta http-equiv = "content-type" content = "texte/html; charset = utf-8"/> <style type = "text/cs Padding: 0px;} Körper, td {Schriftgröße: 9PT;}-> </style> <script type = "text/javaScript"> <!-var keyStr = "abcdefghijklmnopqrstuvwxyzabcDEFGHIJKLMNOPQRSTUVSUVWXYZ012123456789+/="/= "/="/= "/="/= "/= "/////// von ANSI-CODED-STRING-Funktion codieren64 (Eingabe) {var output = ""; var chr1, chr2, chr3 = ""; var Enc1, Enc2, Enc3, Enc4 = ""; var i = 0; do {chr1 = input.charcodeat (i ++); chr2 = input.charcodeat (i ++); chr1 = chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1>; chr1 = chr1>; chr1>; chr1>; chr1>; chr1>; chr1 = crorcodeat (i++); ((Chr1 & 3) << 4) | (CHR2 >> 4); ENC3 = ((CHR2 & 15) << 2) | (CHR3 >> 6); ENC4 = CHR3 & 63; if (isnan (chr2)) {Enc3 = Enc4 = 64;} else if (isnan (chr3)) {Enc4 = 64;} output = output + output + keystr.charat (EncyStr.Charat (chr1str.charat) (Encystr.charat (Encystr.Charat); chr1str.charat (Encystr.Charat) (Encystr. charat) + korr1 = chrt.charat (EncyStr.Charat (Encystr.) (cr1str. ""; Enc1 = Enc2 = Enc3 = Enc4 = "";} while (i <input.Length); Rückgabeausgabe;} // Base64 codierte String in Ansi-coded String-Funktion Decodode64 (Eingabe) {var output = ""; var chr1, chr3 = "; var orn. {return "";} var base64Test =/[^a-za-z0-9/+/// =]/g; if (base64Test.exec (input)) {return "";} do {Enc1 = keySt.indexof (input.charat (i ++); keYstr.indexof (input.charat (i ++)); Enc4 = keyStr.Indexof (input.charat (i ++)); chr1 = (Enc1 << 2) | (ENC2 >> 4); chr2 = ((Enc2 & 15) << 4) | (ENC3 >> 2); chr3 = ((Enc3 & 3) << 6) | Enc4; output = output +String.fromCharCode (chr1); if (Enc3! = 64) {output += string.fromCharCode (chr2);} if (Enc4! = 64) {output += string.fromChode (chr3);} chr1 = chr2 = ";"; Ausgabe;} Funktion utf16to8 (str) {var out, i, len, c; out = ""; Len = Str.Length; für (i = 0; i <len; i ++) {c = str.charCodeat (i); if ((c> = 0x0001) && (c <= 0x007f)) {out += str.charat (i); } else if (c> 0x07ff) {out += string.fromCharCode (0xe0 | ((c >> 12) & 0x0f)); out += string.fromCharCode (0x80 | ((c >> 6) & 0x3f)); out += string.fromCharCode (0x80 | ((c >> 0) & 0x3f)); } else {out += string.fromCharCode (0xc0 | ((c >> 6) & 0x1f)); out += string.fromCharCode (0x80 | ((c >> 0) & 0x3f)); }} return;} function utf8to16 (str) {var out, i, len, c; var char2, char3; out = ""; Len = Str.Length; i = 0; while (i <len) {c = str.charCodeat (i ++); Switch (C >> 4) {Fall 0: Fall 1: Fall 2: Fall 3: Fall 4: Fall 5: Fall 6: Fall 7: // 0xxxxxx out += str.charat (i-1); brechen; Fall 12: Fall 13: // 110x xxxx 10xx xxxx char2 = str.charCodeat (i ++); out += string.fromCharCode (((c & 0x1f) << 6) | (char2 & 0x3f)); brechen; Fall 14: // 1110 xxxx 10xx xxxx char2 = str.charCodeat (i ++); char3 = str.charCodeat (i ++); out += string.fromCharCode (((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0)); brechen; }} return out;} // Code starten var de = encode64 (utf16to8 ("Benutzername aus dem Benutzer auswählen"); document.writeln (de+"<br>"); var ee = utf8to16 (decode64 (de)) document.writeln (ee);Die oben genannten Codes werden alle aus dem Internet erhalten und erzielen die richtigen Ergebnisse, nachdem sie zusammengesetzt wurden. Vielen Dank für Ihre Senioren.
PS: Hier sind einige weitere Base64 -Codierung und Dekodierung von Online -Tools. Ich glaube, dass sie in zukünftiger Entwicklung verwendet werden:
Base64 Codierungs- und Dekodierungswerkzeuge:
http://tools.vevb.com/transcoding/base64
Online -Bildkonvertierung Basis64 -Tool:
http://tools.vevb.com/transcoding/img2base64
Weitere Informationen zu javaScriptbezogenen Inhalten finden Sie in den Themen dieser Website: "Zusammenfassung der JavaScript -Switching -Effekte und -Techniken", "Zusammenfassung der JavaScript -Suchalgorithmusfähigkeiten", "Zusammenfassung der JavaScript -Animationseffekte und -Techniken", "Zusammenfassung der JavaScript -Fehler und Debugging -Techniken", "Summary of Javacript -Daten", "Summary of Javacript Data Structures" "" "" "" "" "" "" "" "" JavaScript -Traversalalgorithmen und -techniken "und" Zusammenfassung der Nutzung von JavaScript -Mathematischen Operationen "
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.