ตัวเข้ารหัส Base64 / เครื่องถอดรหัส
เข้ารหัสข้อความหรือไฟล์เป็น Base64 และถอดรหัสสตริง Base64 ทันทีในเบราว์เซอร์ของคุณ ฟรี เป็นส่วนตัว และไม่จำเป็นต้องอัปโหลด
เข้ารหัสข้อความหรือไฟล์เป็น Base64 และถอดรหัสสตริง Base64 ทันทีในเบราว์เซอร์ของคุณ ฟรี เป็นส่วนตัว และไม่จำเป็นต้องอัปโหลด
Base64 เป็นรูปแบบการเข้ารหัสที่แสดงข้อมูลไบนารีเป็นข้อความ ASCII โดยใช้อักขระที่พิมพ์ได้ 64 ตัว: A-Z, a-z, 0-9, บวก (+) และเครื่องหมายทับ (/) โดยมีเครื่องหมายเท่ากับ (=) ใช้สำหรับการขยาย เดิมทีรูปแบบนี้ได้รับการออกแบบมาเพื่อให้ไฟล์แนบแบบไบนารีสามารถอยู่รอดได้ด้วยการส่งอีเมลแบบ 7 บิต แต่ปัจจุบันได้ขยายไปสู่การใช้งานหลายสิบครั้ง: URL ข้อมูลในรูปแบบ HTML, JSON ที่มีข้อมูลรูปภาพ, เพย์โหลด JWT, ส่วนหัวการตรวจสอบสิทธิ์พื้นฐาน และโปรโตคอลแบบข้อความใดๆ ที่จำเป็นต้องมีไบต์
การเข้ารหัสใช้อินพุต 3 ไบต์และสร้างเอาต์พุตอักขระ ASCII 4 ตัว ดังนั้นเอาต์พุตจึงยาวกว่าอินพุต 33% ซึ่งเป็นต้นทุนในการปรับไบนารี่ให้อยู่ในรูปแบบที่ปลอดภัยสำหรับข้อความ การถอดรหัสจะกลับกระบวนการอย่างแน่นอน โดยกู้คืนไบต์ต้นฉบับจากข้อความที่เข้ารหัส
เครื่องมือนี้จัดการได้ทั้งสองทิศทาง โหมดเข้ารหัสใช้การป้อนข้อความ (หรือไฟล์ไบนารีผ่านการอัปโหลด) และสร้างข้อความ base64 โหมดถอดรหัสใช้ข้อความ base64 และสร้างข้อความต้นฉบับหรือไบนารีที่ดาวน์โหลดได้ รูปแบบที่ปลอดภัยของ URL (การใช้ - และ _ แทนที่ + และ /) ได้รับการสนับสนุนสำหรับโทเค็นและตัวระบุ
Base64 เป็นวิธีมาตรฐานในการฝังข้อมูลไบนารีในบริบทที่เป็นข้อความเท่านั้น รูปภาพอินไลน์ใน HTML ใช้ URL ข้อมูล (data:image/png;base64,...) ดังนั้นไอคอนขนาดเล็กจึงสามารถจัดส่งพร้อมกับเพจได้โดยไม่ต้องขอแยกต่างหาก เพย์โหลด JSON ที่มีรูปภาพ ใบรับรอง หรือลายเซ็นจะเข้ารหัสเป็นสตริง base64 โทเค็น JWT เป็นกลุ่มที่เข้ารหัส base64 สามส่วนคั่นด้วยจุด
Base64 ยังทำให้การจัดการอักขระเป็นมาตรฐานสำหรับโปรโตคอลที่จัดการไบนารี 8 บิตในทางที่ผิด ส่วนหัวการตรวจสอบสิทธิ์ (การตรวจสอบสิทธิ์พื้นฐานใช้ base64) ไฟล์แนบอีเมล ไฟล์การกำหนดค่าที่มีคีย์ และ API จำนวนมากต้องใช้ base64 เนื่องจากไบนารีไม่สามารถผ่านไปป์ไลน์ได้อย่างน่าเชื่อถือ
วางข้อมูล เลือกทิศทาง
Base64 แมปอินพุตทุกๆ 6 บิตกับอักขระเอาต์พุตตัวใดตัวหนึ่งใน 64 ตัว ไบต์อินพุตสามไบต์ (24 บิต) สร้างอักขระเอาต์พุตสี่ตัว เมื่อความยาวอินพุตไม่เป็นทวีคูณของ 3 ตัวเข้ารหัสจะต่อท้ายเครื่องหมายเท่ากับหนึ่งหรือสองตัวเพื่อขยายเอาต์พุตให้เป็นอักขระพหุคูณของ 4 ตัว
URL-safe base64 (กำหนดใน RFC 4648 ส่วนที่ 5) แทนที่ + ด้วย - และ / ด้วย _ เพื่อสร้างสตริงที่ปลอดภัยสำหรับใช้ใน URL และชื่อไฟล์โดยไม่ต้องหลบหนีเพิ่มเติม บางครั้งการเติมเครื่องหมายเท่ากับจะถูกละเว้นในบริบทที่ปลอดภัยของ URL โดยทั่วไปแล้วตัวถอดรหัสจะยอมรับทั้งสองรูปแบบ
btoa และ atob ของ JavaScript จัดการ ASCII โดยตรง แต่ล้มเหลวในสตริงที่ไม่ใช่ ASCII สำหรับข้อความ UTF-8 ตัวแปลงจะใช้ TextEncoder/TextDecoder เพื่อแปลงระหว่างข้อความและไบนารี จากนั้น base64 จะเข้ารหัสไบนารี วิธีนี้จะจัดการอีโมจิ อักขระเน้นเสียง และสคริปต์ที่ไม่ใช่ภาษาละตินได้อย่างถูกต้อง