Base64 คืออะไร วิธีแปลงข้อความและไฟล์เป็น Base64

Base64 คืออะไร วิธีแปลงข้อความและไฟล์เป็น Base64

Base64 คือรูปแบบการเข้ารหัสข้อมูลเป็นตัวอักษร 64 ตัว (A-Z, a-z, 0-9, +, /) เพื่อให้ส่งผ่านระบบที่รองรับเฉพาะข้อความได้

Base64 ทำงานยังไง

  • ข้อมูลไบนารี (หรือข้อความ) ถูกแบ่งเป็นกลุ่ม แล้วแปลงเป็นตัวอักษร 64 ตัว
  • ผลลัพธ์ยาวกว่าข้อมูลเดิมประมาณ 33%
  • ลงท้ายด้วย = เมื่อข้อมูลไม่ครบกลุ่ม

ตัวอย่าง

ข้อความ สวัสดี เมื่อแปลงเป็น Base64 จะได้:

สวัสดี → c3Xhu4NzdseU5ZGl (ตัวอย่าง)

ข้อความ Hello → SGVsbG8=

สำคัญ: Base64 ไม่ใช่การเข้ารหัสลับ

ใครก็ตามที่ได้ Base64 สามารถแปลงกลับเป็นข้อมูลเดิมได้ทันที — อย่าใช้เก็บความลับ

ใช้กับอะไรบ้าง

  • ฝังรูปภาพใน HTML/CSS/อีเมล
  • ส่งข้อมูลผ่าน API และ URL
  • เก็บไฟล์ขนาดเล็กในฐานข้อมูล

ลองใช้ เครื่องแปลง Base64 เพื่อแปลงทันที

Base64 คือรูปแบบการเข้ารหัสข้อมูลเป็นตัวอักษร 64 ตัว (A-Z, a-z, 0-9, +, /) เพื่อให้ส่งผ่านระบบที่รองรับเฉพาะข้อความได้

Base64 ทำงานยังไง

  • ข้อมูลไบนารี (หรือข้อความ) ถูกแบ่งเป็นกลุ่ม แล้วแปลงเป็นตัวอักษร 64 ตัว
  • ผลลัพธ์ยาวกว่าข้อมูลเดิมประมาณ 33%
  • ลงท้ายด้วย = เมื่อข้อมูลไม่ครบกลุ่ม

ตัวอย่าง

ข้อความ สวัสดี เมื่อแปลงเป็น Base64 จะได้:

สวัสดี → c3Xhu4NzdseU5ZGl (ตัวอย่าง)

ข้อความ Hello → SGVsbG8=

สำคัญ: Base64 ไม่ใช่การเข้ารหัสลับ

ใครก็ตามที่ได้ Base64 สามารถแปลงกลับเป็นข้อมูลเดิมได้ทันที — อย่าใช้เก็บความลับ

ใช้กับอะไรบ้าง

  • ฝังรูปภาพใน HTML/CSS/อีเมล
  • ส่งข้อมูลผ่าน API และ URL
  • เก็บไฟล์ขนาดเล็กในฐานข้อมูล

ลองใช้ เครื่องแปลง Base64 เพื่อแปลงทันที

ตัวอย่างคำนวณขนาดไฟล์จริง (หน่วยที่คนไทยคุ้นเคย)

เนื่องจาก Base64 ทำให้ข้อมูลใหญ่ขึ้นราว 33% เรามาลองคำนวณกันง่าย ๆ ด้วยหน่วยที่เราใช้กันทุกวัน สมมติใช้ตัวคูณประมาณ 1.33:

ขนาดไฟล์ต้นฉบับขนาดหลังแปลงเป็น Base64 (โดยประมาณ)เทียบให้เห็นภาพ
100 KB~133 KBไอคอนหรือโลโก้เล็ก ๆ
1 MB~1.33 MBรูปถ่ายบีบอัด 1 รูป
5 MB~6.65 MBเอกสาร PDF หลายหน้า
10 MB~13.3 MBรูปถ่ายความละเอียดสูง

จะเห็นว่าถ้าเอาไฟล์ใหญ่มาฝังแบบ Base64 ขนาดจะบวมขึ้นเร็วมาก ดังนั้นเทคนิคนี้เหมาะกับไฟล์ขนาดเล็กเท่านั้น

มุมจากทีมงาน Webpanna: ประสบการณ์ที่เราเจอจริง

ในนามทีมงาน Webpanna Studio ที่ทำเว็บและระบบให้ร้านอาหารและ SME ไทยมาหลายปี สิ่งหนึ่งที่เราเจอบ่อยมากคือร้านอาหารอยากได้เมนูพร้อมรูปอาหารแสดงในอีเมลหรือระบบ POS ที่ส่งข้อมูลผ่าน API ซึ่งต้องการข้อมูลเป็นข้อความเท่านั้น — Base64 คือทางออกตรง ๆ ในกรณีนี้ เราจะแนะนำให้บีบอัดรูปให้เล็กพอควรก่อนแปลง เพื่อไม่ให้ข้อมูลบวมจนระบบช้า นอกจากนี้ตอนที่ลูกค้าส่งงานต่อให้โปรแกรมเมอร์ฝั่งอื่น การแนบไฟล์ตัวอย่างเป็น Base64 ในเอกสาร API ก็ช่วยให้ทั้งสองฝ่ายคุยกันตรงกัน ไม่ต้องเดาว่ารูปหน้าตาเป็นยังไง สำหรับเรา Base64 จึงไม่ใช่แค่ทฤษฎี แต่เป็นเครื่องมือที่ใช้แก้ปัญหาจริงในงานประจำวัน

ข้อผิดพลาดที่พบบ่อย

  • ลืมว่าไม่ใช่การเข้ารหัสลับ — หลายคนเอา Base64 ไปเก็บรหัสผ่านหรือ API key คิดว่าปลอดภัย ซึ่งผิดมหันต์ ใครก็ถอดกลับได้
  • ปัญหาภาษาไทย — ข้อความไทยต้องถูกเข้ารหัสเป็น UTF-8 ก่อน ถ้าเครื่องมือใช้ encoding ผิด ผลลัพธ์จะถอดกลับแล้วเพี้ยนเป็นตัวอะไรไม่รู้
  • ลืมตัด prefix ของ Data URI — ข้อความแบบ data:image/png;base64,xxxx ต้องตัดส่วนหัวออกก่อนถอดกลับเป็นไฟล์
  • ขึ้นบรรทัดใหม่ (line breaks) — บางระบบแทรกขึ้นบรรทัดใหม่ใน Base64 ทำให้ถอดไม่ได้ ต้องลบ whitespace ออกก่อน
  • ตัวอักษร URL-safe — บางระบบใช้ - และ _ แทน + และ / ถ้าเจอ Base64 ที่ถอดไม่ได้ ลองเช็คจุดนี้

คำถามที่พบบ่อย (Q&A)

ถาม: Base64 กับการเข้ารหัสลับ (Encryption) ต่างกันอย่างไร? ตอบ: Base64 เป็นแค่การแปลงรูปแบบข้อมูล ไม่มีกุญแจ ไม่มีความลับ ใครก็ถอดกลับได้ทันที ส่วน encryption ต้องใช้กุญแจในการถอด ถ้าไม่มีกุญแจก็อ่านข้อมูลไม่ได้ ดังนั้นถ้าต้องการความปลอดภัยจริง ต้องใช้การเข้ารหัสลับ ไม่ใช่ Base64

ถาม: ทำไม Base64 ยาวกว่าข้อมูลเดิม? ตอบ: เพราะการแปลงข้อมูลไบนารี 3 ไบต์ ให้เป็นตัวอักษร 4 ตัว ทำให้ปริมาณข้อมูลโตขึ้นประมาณ 33% บวกช่องว่าง padding = อีกเล็กน้อย นี่คือราคาที่ต้องจ่ายเพื่อแลกกับความสามารถในการส่งข้อมูลผ่านช่องทางที่รองรับเฉพาะข้อความ

ถาม: แปลงรูปภาพเป็น Base64 แล้วเว็บจะช้าลงไหม? ตอบ: ถ้าเป็นรูปเล็ก เช่น ไอคอนหรือโลโก้ไม่กี่สิบ KB การฝังแบบ Base64 ช่วยลดจำนวน request และทำให้หน้าเว็บโหลดไวขึ้นได้ แต่ถ้าเป็นรูปใหญ่หลาย MB จะทำใ