การเข้ารหัส Base64 คืออะไรและเมื่อใดควรใช้

· 4 นาทีในการอ่าน

หากคุณทำงานกับ API ระบบอีเมล หรือการพัฒนาเว็บ คุณได้พบกับ Base64 — แม้ไม่ได้รู้จักก็ตาม สตริงยาวของตัวอักษรและตัวเลขที่ดูเหมือนภาษาแปลก? นั่นน่าจะเป็น Base64

Base64 ทำอะไร

Base64 แปลงข้อมูลไบนารี (ลำดับไบต์ใดก็ได้) เป็นสตริงข้อความที่ใช้เพียง 64 อักขระ « ปลอดภัย »: A-Z, a-z, 0-9, + และ / ผลลัพธ์มักลงท้ายด้วย = ถ้าจำเป็น

ตัวอย่าง:

การเข้ารหัสนี้มีอยู่เพราะระบบจำนวนมาก (อีเมล JSON URL XML) จัดการเฉพาะข้อความ ข้อมูลไบนารี — รูปภาพ ไฟล์บีบอัด ไบต์ดิบ — อาจมีอักขระที่ทำลายระบบเหล่านี้ Base64 แปลงไบนารีเป็นข้อความที่ผ่านช่องสัญญาณข้อความใดๆ ได้โดยไม่เสียหาย

การใช้งานทั่วไป

การฝังรูปภาพใน HTML/CSS:

<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />

ไอคอนและโลโก้ขนาดเล็กสามารถฝังโดยตรงใน HTML ของคุณ กำจัดคำขอ HTTP เพิ่มเติม

เพย์โหลด API: เมื่อ API คาดหวัง JSON แต่คุณต้องรวมไบนารี (การอัปโหลดไฟล์ ภาพลายเซ็น) การเข้ารหัสเป็น Base64 ช่วยให้คุณรวมเป็นฟิลด์ข้อความปกติได้

ไฟล์แนบอีเมล: โปรโตคอลอีเมล (SMTP) เป็นข้อความ ไฟล์แนบทุกตัวถูกเข้ารหัสเป็น Base64 เบื้องหลังเพื่อเดินทางเป็นข้อความ

ส่วนหัวการรับรองความถูกต้อง: การรับรองความถูกต้อง HTTP Basic เข้ารหัส username:password เป็น Base64 ในส่วนหัว Authorization (นี่คือการเข้ารหัส ไม่ใช่การเข้ารหัสลับ — ไม่มีความปลอดภัยในตัว)

วิธีเข้ารหัสและถอดรหัส

  1. เลือกเข้ารหัสหรือถอดรหัส — เลือกทิศทางการแปลง
  2. วางข้อความหรืออัปโหลดไฟล์ — ป้อนข้อความโดยตรงหรือลากและวางไฟล์ (สูงสุด 5 MB)
  3. คัดลอกผลลัพธ์ — เอาต์พุตอัปเดตทันที คัดลอกไปยังคลิปบอร์ด

เมื่อใดควรใช้ Base64

ใช้เมื่อ:

อย่าใช้เมื่อ:

เคล็ดลับ

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

Base64 เข้ารหัสลับข้อมูลของฉันหรือไม่?

ไม่ Base64 เป็นการเข้ารหัส ไม่ใช่การเข้ารหัสลับ ใครก็สามารถถอดรหัสสตริง Base64 — ไม่มีความปลอดภัย หากคุณต้องการปกป้องข้อมูล ใช้การเข้ารหัสลับจริง (AES, RSA ฯลฯ)

ทำไม Base64 ทำให้ไฟล์หนักกว่า?

การเข้ารหัส Base64 เพิ่มขนาดข้อมูลประมาณ 33% สามไบต์ของไบนารีกลายเป็นสี่อักขระ Base64 ค่าใช้จ่ายนี้คือราคาที่ต้องจ่ายเพื่อให้สามารถส่งไบนารีได้อย่างปลอดภัยในรูปแบบข้อความ

ฉันสามารถเข้ารหัสไฟล์ ไม่ใช่แค่ข้อความได้หรือไม่?

ได้ ไฟล์ใดๆ (รูปภาพ PDF เสียง) สามารถเข้ารหัสเป็น Base64 ได้ ใช้กันทั่วไปในการฝังรูปภาพขนาดเล็กโดยตรงใน HTML หรือ CSS เป็น Data URL

เมื่อใดที่ไม่ควรใช้ Base64?

อย่าใช้สำหรับไฟล์ขนาดใหญ่ รูปภาพ 1 MB กลายเป็น 1.33 MB ในข้อความ Base64 และเบราว์เซอร์ไม่สามารถแคชแยกได้ สำหรับทุกอย่างที่เกินไม่กี่ KB การให้บริการไฟล์ตามปกติมีประสิทธิภาพมากกว่า