เข้ารหัสและถอดรหัส Base64

แปลงข้อความและข้อมูลระหว่างข้อความธรรมดากับ Base64 รองรับ UTF-8 ภาษาไทย และรูปแบบ URL-Safe

เข้ารหัสและถอดรหัส Base64

แปลงข้อความและข้อมูลระหว่างข้อความธรรมดากับ Base64 รองรับ UTF-8 ภาษาไทย และรูปแบบ URL-Safe

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

1
Enter or Paste Text
Type or paste your text, code, or data directly into the input workspace.
2
Apply Transformation
Run the tool to convert, filter, format, or inspect your text content.
3
Copy Output
Copy the clean processed output to your clipboard with a single click.
ศูนย์ความรู้และแนวคิด

เครื่องมือเข้ารหัสและถอดรหัส Base64 รองรับ UTF-8 ภาษาไทย และโหมด URL-Safe

การเข้ารหัส Base64 แปลงข้อมูลไบนารีและข้อความหลายไบต์ให้เป็นชุดอักขระ ASCII 64 ตัวที่ปลอดภัยต่อการส่งผ่านเครือข่าย เช่น ส่วนหัว HTTP, MIME อีเมล, Data URI และ JSON Web Token เครื่องมือนี้รองรับการแปลงรหัสแบบไป-กลับสำหรับข้อความ UTF-8 ภาษาไทยได้อย่างสมบูรณ์ โดยไม่เกิดปัญหาตัวอักษรเพี้ยนหรือข้อผิดพลาดไบต์หลุดขอบเขต

สำหรับงานเว็บและการสร้าง URL เครื่องมือมีโหมด URL-Safe Base64 ที่แปลงเครื่องหมายบวก + เป็นขีดลบ - และแปลงเครื่องหมายทับ / เป็นขีดล่าง _ พร้อมทั้งตัดเครื่องหมายเติมเต็ม = (Padding) ออก เพื่อให้สามารถนำผลลัพธ์ไปใช้เป็นพารามิเตอร์ Query String หรือโทเคนเส้นทาง URL ได้อย่างปลอดภัยโดยไม่ต้องทำการ URL Encode ซ้ำซ้อน ทั้งหมดประมวลผลในเบราว์เซอร์ 100%

สูตรและหลักการทางเทคนิค

การเข้ารหัส: 3 ไบต์ดิบ (24 บิต) ➔ 4 สัญลักษณ์ Base64 (ดัชนี 6 บิต) ; โหมด URL-Safe: + เป็น -, / เป็น _, ตัด =

แบ่งข้อมูลไบนารี 24 บิตออกเป็น 4 ตัวเลขขนาด 6 บิตเพื่อจับคู่กับตาราง ASCII 64 อักขระ พร้อมสลับชุดอักขระพิเศษสำหรับโหมด URL-Safe

ข้อแนะนำและวิธีปฏิบัติที่ถูกต้อง

  • เลือกใช้ URL-Safe Base64 สำหรับ Query Parameters และ Web Tokens: Base64 มาตรฐานใช้ '+' และ '/' ซึ่งมีความหมายสงวนใน URL การใช้โหมด URL-Safe (แทนที่ด้วย '-' และ '_') จะช่วยป้องกันปัญหาการแยกเส้นทางผิดพลาด
  • แปลงข้อความเป็น UTF-8 ก่อนทำการเข้ารหัสเสมอ: ฟังก์ชัน btoa ดั้งเดิมของเบราว์เซอร์จะเกิดข้อยกเว้นเมื่อเจออักขระที่อยู่นอกช่วง Latin1 การใช้ TextEncoder ช่วยให้ข้อความภาษาไทยและ Unicode เข้ารหัสได้อย่างสมบูรณ์
  • คำนึงถึงขนาดข้อมูลที่เพิ่มขึ้นประมาณ 33%: ทุกๆ 3 ไบต์ของข้อมูลดิบจะขยายตัวเป็น 4 อักขระ Base64 จึงควรหลีกเลี่ยงการเข้ารหัสไฟล์ไบนารีขนาดใหญ่เกินความจำเป็น
  • อย่าเข้าใจผิดว่า Base64 เป็นการเข้ารหัสลับ (Encryption): Base64 เป็นเพียงรูปแบบการแปลงข้อมูลที่สามารถถอดกลับได้ง่าย ไม่ใช่กลไกความปลอดภัย ห้ามใช้เก็บรหัสผ่านหรือข้อมูลลับโดยไม่ได้เข้ารหัสผ่าน AES หรือ RSA ก่อน

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

เหตุใดข้อความภาษาไทยจึงมักเกิดข้อผิดพลาดในการเข้ารหัส Base64 บนเว็บทั่วไป?
ฟังก์ชัน btoa() ดั้งเดิมของ JavaScript รองรับเฉพาะอักขระ 8-บิต (Latin1) ทำให้อักขระภาษาไทยซึ่งเป็นมัลติไบต์ UTF-8 ล้มเหลว เครื่องมือนี้ใช้ TextEncoder และ Uint8Array ในการแปลงไบต์ UTF-8 ก่อนเข้ารหัส จึงรองรับภาษาไทยแบบ Roundtrip 100% โดยตัวอักษรไม่เพี้ยน
โหมด URL-Safe แตกต่างจาก Base64 มาตรฐานอย่างไร?
ในโหมด URL-Safe อักขระ '+' จะถูกแทนที่ด้วย '-', อักขระ '/' จะถูกแทนที่ด้วย '_' และเครื่องหมาย '=' ต่อท้ายจะถูกตัดออก ทำให้ปลอดภัยต่อการส่งใน URL Path หรือ Query Parameter โดยไม่ขัดกับมาตรฐาน HTTP
ข้อมูลที่นำมาแปลงรหัสมีความเป็นส่วนตัวและปลอดภัยหรือไม่?
ปลอดภัย 100% การเข้ารหัสและถอดรหัสทั้งหมดทำงานบนเบราว์เซอร์ของคุณผ่าน JavaScript ฝั่งไคลเอนต์ ข้อมูลข้อความและไฟล์จะไม่ถูกส่งไปยังเครือข่ายภายนอก
Base64 สามารถใช้แทนการเข้ารหัสความปลอดภัย (Cryptography) ได้หรือไม่?
ไม่ได้ Base64 เป็นเพียงการแปลงรูปแบบข้อมูลไบนารีให้เป็นตัวอักษร (Serialization) เพื่อความสะดวกในการรับส่ง ทุกคนสามารถถอดรหัสกลับได้ทันที จึงต้องใช้ร่วมกับขั้นตอนการเข้ารหัสลับจริงหากต้องการปกป้องข้อมูล