IS
ISSARAPONG
Developer
🇹🇭 ภาษาไทย

เริ่มต้นกับ Base64 Encoding

เรียนรู้วิธีการเข้ารหัสและถอดรหัสข้อมูลด้วย Base64 เทคนิคพื้นฐานสำหรับนักพัฒนาที่ทำงานกับข้อมูลไบนารีผ่านโปรโตคอลแบบข้อความ

Issarapong15 มกราคม 25671 นาที

เริ่มต้นกับ Base64 Encoding

Base64 เป็นรูปแบบการเข้ารหัสจากไบนารีเป็นข้อความ (binary-to-text) ที่แสดงข้อมูลไบนารีในรูปแบบสตริง ASCII ใช้อย่างแพร่หลายในการพัฒนาเว็บ การเข้ารหัสอีเมล และการจัดเก็บข้อมูล

Base64 คืออะไร?

การเข้ารหัส Base64 แปลงข้อมูลไบนารีเป็นชุดอักขระ 64 ตัว ได้แก่ A-Z, a-z, 0-9, + และ / โดยใช้ = สำหรับ padding ทำให้สามารถส่งข้อมูลไบนารีผ่านโปรโตคอลที่รองรับเฉพาะข้อความได้

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

  • รูปภาพใน CSS/HTML: ฝังรูปภาพขนาดเล็กโดยตรงใน HTML หรือ CSS เป็น data URI
  • JWT Tokens: JSON Web Tokens ใช้การเข้ารหัส Base64URL สำหรับ header และ payload
  • ไฟล์แนบอีเมล: มาตรฐาน MIME ใช้ Base64 สำหรับการเข้ารหัสไฟล์แนบในอีเมล
  • การส่งข้อมูล API: เข้ารหัสข้อมูลไบนารีสำหรับ JSON APIs

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

ใน JavaScript

// การเข้ารหัส
const encoded = btoa("สวัสดีชาวโลก");
console.log(encoded); // 4Liq4Lia4Lij4Li04LiB4Liy4Lio...

// การถอดรหัส
const decoded = atob("SGVsbG8sIFdvcmxkIQ==");
console.log(decoded); // Hello, World!

ใน Node.js

// การเข้ารหัส
const encoded = Buffer.from("สวัสดี").toString("base64");
console.log(encoded);

// การถอดรหัส
const decoded = Buffer.from("SGVsbG8sIFdvcmxkIQ==", "base64").toString("utf8");
console.log(decoded); // Hello, World!

ใน Python

import base64

# การเข้ารหัส
encoded = base64.b64encode("สวัสดี".encode("utf-8"))
print(encoded)

# การถอดรหัส
decoded = base64.b64decode("SGVsbG8sIFdvcmxkIQ==").decode("utf-8")
print(decoded)

Base64 กับ Base64URL

Base64URL เป็นรูปแบบที่ปลอดภัยสำหรับ URL โดยแทนที่ + ด้วย - และ / ด้วย _ ทำให้สามารถใช้ใน URL ได้โดยไม่ต้องใช้ percent-encoding

ลองใช้งานได้เลย

ใช้ เครื่องมือ Base64 Encoder ของเราเพื่อเข้ารหัสและถอดรหัสสตริง Base64 ได้โดยตรงในเบราว์เซอร์ — ไม่ต้องใช้เซิร์ฟเวอร์ ประมวลผลในเครื่องทั้งหมด

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