ToolHub
View All Posts

วิธีแปลง Base64 เป็นรูปภาพและในทางกลับกัน

Base64 Encoding เป็นเทคนิคพื้นฐานสำหรับการแสดงข้อมูลรูปภาพไบนารีเป็นข้อความ ไม่ว่าคุณจะฝังรูปภาพโดยตรงใน HTML, ส่งรูปภาพผ่าน API หรือเก็บข้อมูลรูปภาพในฐานข้อมูล การเข้าใจวิธีการแปลงระหว่าง Base64 และรูปแบบรูปภาพเป็นทักษะที่จำเป็นสำหรับนักพัฒนา Web

Base64 Encoding คืออะไร?

Base64 เป็นรูปแบบการเข้ารหัสแบบไบนารีเป็นข้อความ ใช้ชุดอักขระ 64 ตัวเพื่อแปลงข้อมูลไบนารีเป็นสตริง ASCII: A-Z, a-z, 0-9, + และ / อักขระ = ใช้สำหรับ padding ทุกสามไบต์ของข้อมูลไบนารีจะแสดงเป็นอักขระ Base64 สี่ตัว หมายความว่าข้อมูลที่เข้ารหัส Base64 มีขนาดใหญ่กว่าข้อมูลไบนารีต้นฉบับประมาณ 33%

การเข้ารหัสนี้พัฒนาขึ้นมาแต่แรกสำหรับระบบอีเมลที่ส่งได้เฉพาะข้อความ ปัจจุบัน Base64 ถูกใช้อย่างแพร่หลายในการพัฒนา Web เพื่อฝังรูปภาพขนาดเล็กลงใน HTML, CSS และ JSON payload โดยตรง ลดความจำเป็นในการส่ง HTTP request แยกต่างหาก

ทำไมต้องแปลงรูปภาพเป็น Base64?

การแปลงรูปภาพเป็นสตริง Base64 มีเหตุผลเชิงปฏิบัติหลายประการ:

วิธีแปลงรูปภาพเป็น Base64

การใช้ JavaScript ในเบราว์เซอร์

เบราว์เซอร์มี FileReader API และ Canvas API สำหรับการแปลงรูปภาพเป็น Base64 วิธีการ FileReader อ่านไฟล์รูปภาพเป็น Data URL ในขณะที่วิธีการ Canvas ช่วยให้คุณปรับขนาดหรือแก้ไขรูปภาพก่อนเข้ารหัส

เมื่อใช้ Canvas คุณวาดรูปภาพลงบน Canvas element จากนั้นเรียก toDataURL() เพื่อรับสตริง Base64 วิธีการนี้ยังช่วยให้คุณเปลี่ยนรูปแบบและคุณภาพผลลัพธ์โดยการส่งพารามิเตอร์เช่น 'image/jpeg' และค่าคุณภาพระหว่าง 0 ถึง 1

การใช้เครื่องมือออนไลน์

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

การใช้ Command Line

บน Linux และ macOS คุณสามารถใช้คำสั่ง base64 เพื่อเข้ารหัสรูปภาพโดยตรงจาก terminal มีประโยชน์สำหรับการเขียนสคริปต์และเวิร์กโฟลว์อัตโนมัติที่ต้องประมวลผลรูปภาพหลายรูปในครั้งเดียว

วิธีแปลง Base64 กลับเป็นรูปภาพ

ในเบราว์เซอร์

element รูปแบบคือ data:[MIME-type];base64,[data] ตัวอย่างเช่น รูปภาพ PNG ใช้ data:image/png;base64,iVBORw0KGgo...

ในการบันทึกรูปภาพเป็นไฟล์ คุณสามารถสร้างลิงก์ดาวน์โหลดโดยการแปลงข้อมูล Base64 เป็น Blob object และสร้าง object URL วิธีการนี้ทำงานทั้งหมดในเบราว์เซอร์ โดยไม่ต้องประมวลผลฝั่งเซิร์ฟเวอร์

การใช้เครื่องมือออนไลน์

ตัวแปลง Base64 เป็นรูปภาพออนไลน์ช่วยให้คุณวางสตริง Base64 และดูตัวอย่างและดาวน์โหลดรูปภาพที่สร้างขึ้นได้ทันที นี่เป็นวิธีที่ง่ายที่สุดเมื่อคุณได้รับสตริง Base64 ในอีเมล, API response หรือไฟล์กำหนดค่าและต้องการดูรูปภาพจริง

ทำความเข้าใจ Data URI

Data URI เป็นวิธีมาตรฐานในการฝังรูปภาพที่เข้ารหัส Base64 ในหน้าเว็บ ไวยากรณ์เต็มประกอบด้วย MIME type, การประกาศการเข้ารหัส และข้อมูล Base64 เอง

รูปแบบ Data URI ทั่วไปสำหรับรูปภาพรวมถึง:

เมื่อใดควรใช้รูปภาพ Base64 (และเมื่อใดไม่ควรใช้)

รูปภาพ Base64 ไม่ใช่ตัวเลือกที่ถูกต้องเสมอไป นี่คือคู่มือว่าเมื่อใดควรใช้และเมื่อใดควรหลีกเลี่ยง:

สถานการณ์การใช้งานที่เหมาะสม

สถานการณ์ที่ควรหลีกเลี่ยงการใช้ Base64

เคล็ดลับประสิทธิภาพ: สำหรับรูปภาพที่เกิน 2KB ใช้การอ้างอิงไฟล์แบบดั้งเดิมแทน Base64 เสมอ เบราว์เซอร์สามารถแคชไฟล์รูปภาพแยกต่างหาก ให้บริการผ่าน CDN และโหลดแบบ async ทำให้ได้ประสิทธิภาพที่ดีขึ้นอย่างมาก

ปัญหาทั่วไปและวิธีแก้ไข

ต้องการแปลงรูปภาพเป็น Base64 หรือถอดรหัสสตริง Base64 กลับเป็นรูปภาพ? ลองใช้เครื่องมือฟรีของเรา

รูปภาพเป็น Base64

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

Base64 Encoding เพิ่มขนาดไฟล์หรือไม่?

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

Base64 Image Encoding มีผลต่อประสิทธิภาพหรือไม่?

การใช้รูปภาพ Base64 มากเกินไปเป็นอันตรายต่อประสิทธิภาพ พวกมันเพิ่มขนาด HTML, ไม่สามารถถูกแคชแยกโดยเบราว์เซอร์ และบล็อกการเรนเดอร์หน้า อย่างไรก็ตาม สำหรับไอคอนขนาดเล็กต่ำกว่า 2KB, Base64 แบบ inline สามารถลด HTTP request และปรับปรุงเวลาโหลด

สามารถแปลงรูปแบบรูปภาพใดๆ เป็น Base64 ได้หรือไม่?

ใช่ ไฟล์ไบนารีใดๆ รวมถึงรูปแบบรูปภาพทั้งหมด (JPEG, PNG, GIF, WebP, SVG, BMP) สามารถแปลงเป็น Base64 ได้ สตริง Base64 ที่สร้างขึ้นมีคำนำหน้า Data URI ที่ระบุ MIME type ต้นฉบับ

Base64 และ Data URI แตกต่างกันอย่างไร?

Base64 เป็นอัลกอริทึมการเข้ารหัสที่แปลงข้อมูลไบนารีเป็นข้อความ ASCII Data URI เป็นรูปแบบการฝังข้อมูลที่เข้ารหัส Base64 ลงใน URL โดยตรง โดยมีคำนำหน้าเป็น MIME type และข้อมูลการเข้ารหัส รูปแบบ Data URI คือ: data:[mediatype][;base64],data