บทความนี้อธิบายการเข้ารหัสและการถอดรหัส Base64 ที่ใช้โดย JS แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
รหัสสมบูรณ์:
<html> <head> <title> base64 </title> <ภาษาสคริปต์ = javascript> var base64encodechars = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/"; -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, -1, -1 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, -1); "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64decodechars = อาร์เรย์ใหม่ (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, var c1, c2, c3; len = str.length; i = 0; ออก = ""; ในขณะที่ (i <len) {c1 = str.charcodeat (i ++) & 0xff; if (i == len) {out += base64encodechars.charat (c1 >> 2); out += base64encodechars.charat ((C1 & 0x3) << 4); out += "=="; หยุดพัก; } c2 = str.charcodeat (i ++); if (i == len) {out += base64encodechars.charat (c1 >> 2); out += base64encodechars.charat ((C1 & 0x3) << 4) | ((C2 & 0xf0) >> 4)); out += base64encodechars.charat ((c2 & 0xf) << 2); out += "="; หยุดพัก; } c3 = str.charcodeat (i ++); out += base64encodechars.charat (C1 >> 2); out += base64encodechars.charat ((C1 & 0x3) << 4) | ((C2 & 0xf0) >> 4)); out += base64encodechars.charat (((c2 & 0xf) << 2) | ((C3 & 0xc0) >> 6)); out += base64encodechars.charat (C3 & 0x3f); } return Out;} function base64decode (str) {var c1, c2, c3, c4; var i, len, out; len = str.length; i = 0; ออก = ""; ในขณะที่ (i <len) { / * c1 * / do {c1 = base64decodechars [str.charcodeat (i ++) & 0xff]; } ในขณะที่ (i <len && c1 == -1); if (c1 == -1) break; / * c2 */ do {c2 = base64decodechars [str.charcodeat (i ++) & 0xff]; } ในขณะที่ (i <len && c2 == -1); if (c2 == -1) break; out += string.fromCharcode ((C1 << 2) | ((C2 & 0x30) >> 4)); / * c3 */ do {c3 = str.charcodeat (i ++) & 0xff; ถ้า (c3 == 61) กลับ; c3 = base64decodechars [C3]; } ในขณะที่ (i <len && c3 == -1); if (c3 == -1) break; out += string.fromCharcode (((c2 & 0xf) << 4) | ((C3 & 0x3c) >> 2)); / * c4 */ do {c4 = str.charcodeat (i ++) & 0xff; ถ้า (c4 == 61) กลับออกมา; c4 = base64decodechars [C4]; } ในขณะที่ (i <len && c4 == -1); if (c4 == -1) break; out += string.fromCharcode (((C3 & 0x03) << 6) | C4); } return} function utf16to8 (str) {var out, i, len, c; ออก = ""; len = str.length; สำหรับ (i = 0; i <len; i ++) {c = str.charcodeat (i); if ((c> = 0x0001) && (c <= 0x007f)) {out += str.charat (i); } อื่นถ้า (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 out;} function UTF8to16 (str) {var out, i, len, c; var char2, char3; ออก = ""; len = str.length; i = 0; ในขณะที่ (i <len) {c = str.charcodeat (i ++); สวิตช์ (c >> 4) {กรณี 0: กรณีที่ 1: กรณีที่ 2: กรณีที่ 3: กรณีที่ 4: กรณีที่ 5: กรณีที่ 6: กรณี 7: // 0xxxxx out += str.charat (I-1); หยุดพัก; กรณีที่ 12: กรณี 13: // 110X XXXX 10XX XXXX CHAR2 = Str.Charcodeat (i ++); out += string.fromCharcode ((c & 0x1f) << 6) | (char2 & 0x3f)); หยุดพัก; กรณีที่ 14: // 1110 xxxx 10xx xxxx 10xx xxxx char2 = str.charcodeat (i ++); char3 = str.charcodeat (i ++); out += string.fromCharcode (((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | (char3 & 0x3f) << 0)); หยุดพัก; }} return out;} function doit () {var f = document.f f.output.value = base64Encode (UTF16to8 (f.source.value)) f.decode.value = utf8to16 (base64decode (f.output.value) name = "f"> รหัสต้นฉบับ <br> <textarea name = "source" rows = 4 cols = 60 wrap = "soft"> </textarea> <br> <br> base64 encode <br> <textarea name = "output" rows = 4 cols = 60 wrap = "soft"> wrap = "soft"> </textarea> <br> <br> <ประเภทอินพุต = ปุ่มค่า = "แปลง" onclick = "doit ()"> </form> </body>สำหรับการเข้ารหัสและถอดรหัส Base64 คุณสามารถอ้างอิงเครื่องมือออนไลน์ของเว็บไซต์นี้ :
BASE64 เครื่องมือการเข้ารหัสและถอดรหัส
สำหรับเนื้อหาที่เข้ารหัสและถอดรหัสเพิ่มเติมโปรดดูที่:
เครื่องมือเข้ารหัสออนไลน์ MD5
URL hexadecimal เครื่องมือเข้ารหัส
Thunder, Express, Tornado URL การเข้ารหัส/ถอดรหัสเครื่องมือ
เครื่องมือเข้ารหัสออนไลน์ SHA1
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ JavaScript โปรดตรวจสอบหัวข้อของไซต์นี้: "สรุปทักษะการเข้ารหัสและการถอดรหัส JavaScript", "บทสรุปของการสลับเอฟเฟกต์พิเศษและทักษะพิเศษ", "สรุปทักษะการค้นหา Javascript ทักษะอัลกอริทึม "," บทสรุปของอัลกอริทึมและทักษะการสำรวจ JavaScript Traversal "และ" สรุปการใช้งานการดำเนินการทางคณิตศาสตร์ JavaScript "
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน