Base64 เป็นรูปภาพ
Base64 เป็นรูปภาพคือเครื่องมือฟรีสำหรับแปลงข้อมูลรูปภาพที่เข้ารหัสด้วย Base64 ให้กลับมาเป็นรูปภาพอีกครั้ง
Base64 ใช้แทนข้อมูลรูปภาพได้อย่างไร?
Base64 ใช้แทนรูปภาพโดยแปลงไบต์แบบไบนารีให้เป็นชุดอักขระข้อความที่พิมพ์ได้ในขอบเขตจำกัด วิธีนี้มีไว้เพราะบางระบบออกแบบมาให้รับส่งข้อความแทนข้อมูลไบนารีดิบ การเข้ารหัสไบต์จึงช่วยให้นำข้อมูลไปใส่ในอีเมล JSON, HTML หรือรูปแบบอื่นที่ใช้ข้อความเป็นหลักได้ง่ายขึ้น
ชุดอักขระ Base64 มาตรฐานประกอบด้วยตัวอักษรพิมพ์ใหญ่ ตัวอักษรพิมพ์เล็ก ตัวเลข เครื่องหมายบวก และเครื่องหมายทับ ส่วนท้ายอาจมีเครื่องหมายเท่ากับเป็นอักขระเติมเต็ม โดยปกติไบต์ข้อมูลทุก 3 ไบต์จะกลายเป็นอักขระ Base64 จำนวน 4 ตัว ข้อมูลที่เข้ารหัสแล้วจึงมีขนาดใหญ่กว่าข้อมูลต้นฉบับประมาณหนึ่งในสาม
ตัวอย่างข้อความสั้น ๆ ช่วยให้เห็นกระบวนการนี้ได้ชัดเจน:
- ไบต์ต้นฉบับเมื่อตีความเป็นข้อความ: Man
- ผลลัพธ์ Base64: TWFu
รูปภาพใช้กระบวนการเดียวกัน แต่ไบต์ต้นฉบับจะเป็นข้อมูลที่อธิบายรูปภาพในรูปแบบ PNG, JPEG, GIF, WebP หรือรูปแบบอื่น ไม่ใช่ข้อความที่มนุษย์อ่านได้ ตัวข้อมูล Base64 ดิบไม่ได้ระบุประเภทของรูปภาพไว้โดยตรง ข้อมูลประเภทไฟล์อาจอยู่ใน data URL หรืออนุมานได้จากลายเซ็นไฟล์หลังถอดรหัส
จะแปลง Base64 กลับเป็นรูปภาพได้อย่างไร?
วางข้อมูลรูปภาพ Base64 ลงในเครื่องมือแล้วส่งเพื่อแปลง ผลลัพธ์ที่ได้จะเป็นรูปภาพ ก่อนเริ่ม ให้ตรวจสอบว่าค่าที่มีเป็น Base64 ดิบหรือ data URL แบบสมบูรณ์
- หาค่าที่เข้ารหัสไว้ แล้วคัดลอกโดยไม่รวมเครื่องหมายอัญประกาศที่ครอบค่าอยู่ใน JSON, CSS หรือซอร์สโค้ด
- ตรวจหาคำนำหน้า data URL เช่น data:image/png;base64, โดยเพย์โหลด Base64 จริงจะเริ่มหลังเครื่องหมายจุลภาค
- หากเครื่องมือไม่รับ data URL แบบสมบูรณ์ ให้ลบคำนำหน้าแล้วส่งเฉพาะเพย์โหลดที่เข้ารหัส เนื่องจากตัวถอดรหัสแต่ละตัวรองรับส่วนที่ครอบข้อมูลนี้ไม่เหมือนกัน
- ตรวจสอบว่ารูปภาพที่ได้มีเนื้อหา ขนาด และรูปแบบตรงตามที่คาดไว้ ก่อนนำไปใช้งานที่อื่น
บางครั้งโปรแกรมอีเมลอาจตัดบรรทัดค่า Base64 ที่ยาว ทำให้มีช่องว่างหรือการขึ้นบรรทัดใหม่ ตัวถอดรหัสบางตัวจะข้ามอักขระเว้นวรรคเหล่านี้ แต่ตัวที่เข้มงวดกว่าอาจปฏิเสธข้อมูล อย่าเติมเครื่องหมายวรรคตอนหรือข้อความอธิบายลงในเพย์โหลด ตัวเลขเป็นอักขระที่ใช้ได้ใน Base64 แต่ข้อมูลที่ประกอบด้วยอักขระที่ถูกต้องเพียงอย่างเดียวไม่ได้หมายความว่าจะเป็นรูปภาพเสมอไป
ค่า Base64 ที่ว่างเปล่าหมายถึงไม่มีข้อมูลแม้แต่ไบต์เดียว จึงไม่สามารถสร้างรูปภาพที่ใช้งานได้ ส่วนค่าที่ยาวมากก็มีขนาดใหญ่ เพราะ Base64 ทำให้ข้อมูลต้นฉบับขยายขึ้น และการประมวลผลต้องถ่ายโอนพร้อมถอดรหัสข้อมูลที่เข้ารหัสทั้งหมด
ทำไมรูปภาพ Base64 ถึงถอดรหัสไม่ได้?
โดยทั่วไป รูปภาพ Base64 ถอดรหัสไม่สำเร็จเพราะข้อมูลมีรูปแบบผิดหรือไม่ครบ ใช้ชุดอักขระไม่ตรงกัน หรือไม่ได้บรรจุไบต์ของรูปภาพ หากต้นทางเข้ารหัสซ้ำมากกว่าหนึ่งรอบ การเข้ารหัสสองชั้นก็อาจเป็นสาเหตุได้เช่นกัน ตำแหน่งและลักษณะของข้อผิดพลาดอาจช่วยบอกสาเหตุได้
- ข้อมูลถูกตัด. การคัดลอกจากบันทึกระบบ โปรแกรมดูฐานข้อมูล หรือระบบรับส่งข้อความอาจทำให้ส่วนท้ายของค่าที่ยาวหายไป อักขระที่ขาดมักทำให้ไบต์หลังถอดรหัสไม่ครบถ้วน
- ใช้รูปแบบหรือชุดอักขระไม่ตรงกัน. Base64 มาตรฐานใช้ + และ / ขณะที่ Base64url มักใช้ - และ _ ตัวถอดรหัสที่รองรับอีกรูปแบบหนึ่งอาจปฏิเสธข้อมูลนี้
- ไม่มีอักขระเติมเต็ม. ค่า Base64 อาจลงท้ายด้วยเครื่องหมายเท่ากับหนึ่งหรือสองตัว บางระบบตัดอักขระเติมเต็มนี้ออก และตัวถอดรหัสบางตัวสร้างกลับให้ได้ แต่ระบบที่ตรวจสอบอย่างเข้มงวดอาจกำหนดว่าต้องมี
- ข้อมูลไบนารีไม่ใช่รูปภาพ. Base64 ใช้แทน PDF ไฟล์บีบอัด แบบอักษร หรือไบต์ชนิดอื่นได้ทั้งหมด ดังนั้น Base64 ที่มีรูปแบบถูกต้องจึงไม่ได้รับประกันว่าจะเป็นรูปภาพที่ถูกต้อง
- สับสนเรื่องการเข้ารหัสข้อความ. ตัวอักษรที่มีเครื่องหมายกำกับ อีโมจิ และอักขระที่ไม่ใช่ละตินไม่ได้อยู่ในชุดอักขระ Base64 ต้องแปลงอักขระเหล่านี้เป็นไบต์ก่อน ซึ่งโดยทั่วไปใช้ UTF-8 แล้วจึงเข้ารหัสเป็น Base64
- เข้ารหัสสองชั้น. หากถอดรหัสครั้งแรกแล้วได้ข้อมูลยาวอีกชุดหนึ่งซึ่งมีเฉพาะอักขระ Base64 ต้นทางอาจถูกเข้ารหัสไว้สองครั้ง ให้ถอดรหัสค่าระหว่างกลางอีกครั้งเฉพาะเมื่อยืนยันจากแหล่งที่มาได้ว่านี่คือผลลัพธ์ที่ควรเป็น
หากตัวถอดรหัส Base64 ทั่วไปแสดงผลเป็นอักขระที่อ่านไม่รู้เรื่อง ก็ไม่ได้หมายความว่าการถอดรหัสล้มเหลวเสมอไป ไบต์ของรูปภาพเป็นข้อมูลไบนารีและไม่ควรมีลักษณะเป็นข้อความที่อ่านได้ ใช้ตัวถอดรหัส Base64 เมื่อต้องการตรวจสอบเพย์โหลดที่ไม่ใช่รูปภาพ และใช้รูปภาพเป็น Base64 เมื่อต้องการแปลงในทิศทางตรงกันข้าม
ข้อมูลรูปภาพ Base64 ใช้ที่ไหนบ้าง?
ข้อมูลรูปภาพ Base64 พบได้ในกรณีที่ต้องส่งไฟล์ไบนารีผ่านช่องข้อมูลหรือเอกสารที่รองรับข้อความเป็นหลัก ตัวอย่างที่พบบ่อย ได้แก่ รูปภาพที่ฝังใน data URL ของ HTML หรือ CSS, พร็อพเพอร์ตีรูปภาพในเพย์โหลด JSON API และส่วน MIME ของอีเมล
ข้อมูลนี้อาจปรากฏในสตริงคำค้นหาด้วย ซึ่งตัวแยกวิเคราะห์คำค้นหาของแอปพลิเคชันอาจจัดการอักขระ Base64 มาตรฐานผิดพลาด โดยเฉพาะตัวแยกวิเคราะห์แบบฟอร์มที่ตีความเครื่องหมายบวกเป็นช่องว่าง หรือใช้เครื่องหมายเท่ากับเป็นตัวแบ่ง Base64url จะแทนที่อักขระที่ก่อปัญหาเหล่านี้และมักละอักขระเติมเต็ม จึงเหมาะกับ URL และโทเค็นมากกว่า
ชื่อโดเมนสากลไม่ได้ใช้ Base64 ในระบบ IDNA ป้ายกำกับ ASCII จะไม่เปลี่ยนแปลง ส่วน U-label ที่มีอักขระนอก ASCII อาจแสดงเป็น A-label โดยใช้ Punycode อย่างไรก็ตาม ค่า Base64 อาจอยู่ในส่วนอื่นของ URL เช่น สตริงคำค้นหา ความแตกต่างนี้สำคัญเมื่อตรวจหาปัญหาของค่าที่คัดลอกจากแถบที่อยู่ในเบราว์เซอร์
JSON ไม่มีชนิดข้อมูลไบนารีโดยตรง API จึงอาจใส่เนื้อหารูปภาพ Base64 ไว้ในสตริงที่ครอบด้วยเครื่องหมายอัญประกาศ วิธีนี้สะดวกต่อการแลกเปลี่ยนข้อมูลแบบข้อความ แต่ทำให้เพย์โหลดมีขนาดใหญ่ขึ้น สำหรับการอัปโหลดไฟล์ขนาดใหญ่หรืออัปโหลดบ่อยครั้ง การอัปโหลดไฟล์ไบนารีตามปกติมักเหมาะสมกว่า
การเข้ารหัส Base64, การรักษาความลับ และการประมวลผลบนเซิร์ฟเวอร์
Base64 เป็นการเข้ารหัสข้อมูล ไม่ใช่การเข้ารหัสลับ และไม่ได้ช่วยปกปิดข้อมูล ใครก็ตามที่มีค่านี้สามารถถอดรหัสได้โดยไม่ต้องใช้รหัสผ่านหรือกุญแจ ดังนั้นอย่าปกป้องข้อมูลเข้าสู่ระบบ รูปถ่ายส่วนตัว หรือเอกสารลับด้วยการแปลงเป็น Base64 เพียงอย่างเดียว
เครื่องมือนี้ประมวลผลบนเซิร์ฟเวอร์ ข้อมูลที่คุณป้อนจะถูกส่งไปยังเซิร์ฟเวอร์ผ่าน HTTPS และไม่มีการจัดเก็บไว้ HTTPS ช่วยปกป้องการเชื่อมต่อระหว่างรับส่งข้อมูล แต่ไม่ได้ทำให้ค่า Base64 กลายเป็นเนื้อหาที่เข้ารหัสลับ หรือทำให้ข้อมูลจากแหล่งที่ไม่น่าเชื่อถือปลอดภัยขึ้น
การถอดรหัสไม่ได้ตรวจสอบว่ารูปภาพนั้นไม่เป็นอันตราย ควรระมัดระวังรูปภาพที่ถอดรหัสจากค่า Base64 ซึ่งได้รับจากผู้ส่งที่ไม่รู้จัก เช่นเดียวกับรูปภาพอื่นที่ดาวน์โหลดมา
คำถามที่พบบ่อย
ดูรูปแบบไฟล์จาก Base64 ดิบได้ไหม?
บางครั้งทำได้ แต่ชุดอักขระ Base64 เพียงอย่างเดียวไม่ได้ระบุรูปแบบไฟล์ ไฟล์ที่ถอดรหัสแล้วจะมีลายเซ็น ซึ่งมักเรียกว่า magic bytes ให้ซอฟต์แวร์ใช้แยกรูปแบบอย่าง PNG, JPEG และ GIF ส่วน data URL อาจระบุประเภทสื่อไว้ด้วย แต่ป้ายกำกับนั้นอาจผิดและไม่ควรใช้แทนข้อมูลจากไบต์จริง
ถอดรหัส Base64 แล้วคุณภาพรูปภาพลดลงไหม?
ไม่ลดลง การถอดรหัส Base64 อย่างถูกต้องจะคืนค่าไบต์ต้นฉบับและไม่บีบอัดรูปภาพซ้ำ คุณภาพของรูปภาพ ข้อมูลสี และข้อมูลเมตาที่ฝังไว้จะไม่เปลี่ยนแปลง เว้นแต่ภายหลังจะมีโปรแกรมอื่นแก้ไขหรือแปลงไฟล์ที่ถอดรหัสแล้ว
Base64 ใช้เก็บรูปภาพ SVG ได้ไหม?
ได้ ข้อมูล SVG สามารถเข้ารหัสเป็น Base64 ได้ แต่การแสดงผลจะรองรับหรือไม่นั้นขึ้นอยู่กับซอฟต์แวร์ปลายทาง SVG เป็นรูปแบบที่ใช้ XML และอาจมีสคริปต์ ลิงก์ หรือการอ้างอิงไปยังแหล่งข้อมูลภายนอก ดังนั้นอย่าถือว่า SVG ที่เข้ารหัสด้วย Base64 จากแหล่งที่ไม่รู้จักจะเปิดได้อย่างปลอดภัย
ทำไมรูปภาพ Base64 ถึงใหญ่กว่าไฟล์ต้นฉบับ?
Base64 สร้างอักขระข้อความ 4 ตัวต่อข้อมูลต้นฉบับทุก 3 ไบต์ และข้อมูลชุดสุดท้ายอาจมีอักขระเติมเต็ม RFC 4648 กำหนดให้มีอักขระเติมเต็ม เว้นแต่ข้อกำหนดที่อ้างอิงจะอนุญาตให้ละได้อย่างชัดเจน ผลลัพธ์จึงมีขนาดใหญ่ขึ้นประมาณหนึ่งในสาม ก่อนรวมคำนำหน้า data URL, เครื่องหมายอัญประกาศของ JSON หรือข้อมูลส่วนเกินจากการรับส่ง หากระบบรองรับการอัปโหลดไฟล์ตามปกติ การส่งรูปภาพไบนารีต้นฉบับมักใช้ข้อมูลน้อยกว่า
เครื่องมือที่คล้ายกัน
แปลงรูปภาพของคุณเป็นข้อความ Base64 ด้วยเครื่องมือรูปภาพเป็น Base64 ของเรา เพื่อเข้ารหัสข้อมูลอย่างมีประสิทธิภาพ
เครื่องมือยอดนิยม
สร้างลายเซ็นแบบกำหนดเองของคุณได้อย่างง่ายดายและดาวน์โหลดได้อย่างสะดวก
ใช้เครื่องมือ ping ของเราเพื่อตรวจสอบสถานะและเวลาตอบสนองของเว็บไซต์ เซิร์ฟเวอร์ หรือพอร์ตใด ๆ ได้อย่างรวดเร็วและมีประสิทธิภาพ
เครื่องมือค้นหา IP ของ Digily Link ให้ข้อมูลโดยละเอียดเกี่ยวกับที่อยู่ IP ใด ๆ ใช้บริการออนไลน์ฟรีนี้เพื่อดูข้อมูล IP อย่างครบถ้วน
สร้างลิงก์ WhatsApp ฟรีได้ทันทีด้วยเครื่องมือสร้างลิงก์ WhatsApp ของเรา เพิ่มข้อความที่กำหนดเองและเริ่มแชทได้ในคลิกเดียว โดยไม่ต้องเข้าสู่ระบบหรือเขียนโค้ด