🔧Toolify

Base64 เข้ารหัส / ถอดรหัส (UTF-8 และ

พิมพ์ข้อความใดก็ได้หรือวาง Base64 string เพื่อแปลงในทิศทางใดก็ได้ รองรับ UTF-8 (รวมอีโมจิและ CJK) และรองรับตัวแปร URL-safe ที่ใช้ใน JWT และ OAuth

ผลลัพธ์ที่เข้ารหัส
 

วิธีการทำงาน

Base64 คืออะไรและไม่ใช่อะไร

Base64 เข้ารหัสไบต์ arbitrary โดยใช้ตัวอักษร 64 ตัว (A-Z, a-z, 0-9, +, / และ = สำหรับ padding) เป็นวิธีมาตรฐานในการฝังข้อมูลไบนารี เช่น ไบต์รูปภาพ encrypted blobs token ที่ลงนาม ลงในรูปแบบข้อความล้วน เช่น JSON, HTML หรือ email headers ผลลัพธ์ใหญ่กว่าอินพุตประมาณ 33%

Base64 คือการเข้ารหัส ไม่ใช่การเข้ารหัสลับ ทุกคนสามารถถอดรหัส Base64 string กลับเป็นไบต์เดิมได้ อย่าใช้เพื่อซ่อนความลับ ใช้อัลกอริทึมการเข้ารหัสจริงถ้าต้องการความลับ

URL-safe กับมาตรฐาน

Base64 มาตรฐานมี '+' และ '/' ซึ่งมีความหมายพิเศษใน URL และต้องเข้ารหัสแบบ percent-encoded URL-safe Base64 (RFC 4648 §5) แทนที่ '+' ด้วย '-', '/' ด้วย '_' และตัด '=' padding ออก JWT, OAuth token และ web API จำนวนมากใช้รูปแบบ URL-safe

ถ้าถอดรหัส JWT หรือ token ด้วยมือ ให้เปิด URL-safe ถ้าทำงานกับอีเมลคลาสสิกหรือข้อมูลที่ฝังใน PDF ให้ปิดไว้ decoder รับทั้งสองรูปแบบเมื่อเปิด URL-safe เนื่องจาก standard alphabet เป็น superset ลบคู่พิเศษออก

การจัดการ UTF-8

btoa() ของเบราว์เซอร์รุ่นเก่ารองรับเฉพาะ ASCII เครื่องมือนี้ใช้ TextEncoder เพื่อแปลงอินพุตเป็นไบต์ UTF-8 ก่อน จากนั้น Base64 เข้ารหัสไบต์เหล่านั้น ซึ่งหมายความว่าอีโมจิ อักขระ CJK ตัวอักษรละตินที่มีเครื่องหมายกำกับ และ Unicode อื่นๆ ทั้งหมดเข้ารหัสและ round-trip ได้อย่างถูกต้อง วิธีไบต์แล้ว Base64 เป็นวิธีเดียวกับที่ JWT library และ framework สมัยใหม่ส่วนใหญ่ใช้

คำถามที่พบบ่อย

Base64 คือการเข้ารหัสลับหรือไม่?

ไม่ เป็นวิธีเข้ารหัสไบนารีเป็นข้อความ ASCII ทุกคนสามารถถอดรหัสได้ ใช้การเข้ารหัสจริง (AES, RSA ฯลฯ) สำหรับความลับ

ทำไม URL-safe จึงต่างออกไป?

Base64 มาตรฐานใช้ '+' และ '/' ซึ่งมีความหมายพิเศษใน URL และต้องเข้ารหัสแบบ percent-encoded URL-safe Base64 แทนที่ด้วย '-' และ '_' เพื่อหลีกเลี่ยงปัญหา

สามารถถอดรหัส JWT signature ได้หรือไม่?

การถอดรหัส signature ให้ไบต์ดิบของ signature แต่ไบต์เหล่านั้นมีไว้สำหรับการยืนยัน ไม่ใช่การอ่านของมนุษย์ ถอดรหัส JWT header และ payload (สองส่วนแรก) เพื่อดูข้อมูล

ใช้สำหรับไฟล์ไบนารีได้หรือไม่?

ไม่ตรงๆ วางข้อความเท่านั้น สำหรับไฟล์ ให้ใช้เครื่องมือที่รองรับไบนารี (เบราว์เซอร์ส่วนใหญ่มีคู่ atob/btoa ในตัวที่ใช้ใน DevTools สำหรับไฟล์เล็กๆ ได้)

ทำไมข้อความที่ถอดรหัสจึงดูไม่ออก?

อาจเป็นเพราะอินพุตไม่ใช่ Base64 ที่ถูกต้อง หรือมันเข้ารหัสไบต์ที่ไม่ใช่ UTF-8 (เช่น ไฟล์ Latin-1) ยืนยันการเข้ารหัสต้นฉบับ เครื่องมือที่ถอดรหัส 'เป็นข้อความ' สมมติว่าเป็น UTF-8

ข้อมูลถูกส่งที่ไหนหรือไม่?

ไม่ การเข้ารหัสและถอดรหัสทำงานทั้งหมดในเบราว์เซอร์ของคุณ

ค่าใช้จ่ายของขนาดคือเท่าไหร่?

ใหญ่กว่าไบต์ต้นฉบับประมาณ 33% (ทุก 3 ไบต์อินพุตกลายเป็น 4 ตัวอักษรผลลัพธ์) URL-safe โดยไม่มี padding มีค่าใช้จ่ายเดียวกัน

ทำไม padding จึงสำคัญ?

Base64 มาตรฐาน padding ท้ายด้วย '=' เพื่อให้ความยาวเป็นผลคูณของ 4 เวอร์ชัน URL-safe มักข้ามเนื่องจากไม่จำเป็นสำหรับการถอดรหัส

เครื่องมือที่เกี่ยวข้อง

อัปเดตล่าสุด:

ลองพรอมต์ AI ของเรา →