Skip to main content

Base64 คืออะไร?

Base64 เป็นวิธีการแปลงข้อมูลไบนารีโดยพลการข้อมูลประกอบด้วยอักขระข้อความธรรมดามากกว่าเพียงแค่ข้อความธรรมดาที่สามารถถ่ายโอนผ่านเครือข่ายคอมพิวเตอร์สิ่งที่เรียกว่าการเข้ารหัสในขณะที่ผลลัพธ์ของข้อความที่เข้ารหัส Base64 ไม่ใช่สิ่งที่มนุษย์สามารถเข้าใจได้อย่างง่ายดาย แต่ก็ยังประกอบด้วยตัวละครภาษาอังกฤษทั่วไป 64 ตัวซึ่งเป็นที่มาของชื่อโดยมีอักขระ 65th เพิ่มเติมที่ใช้เพื่อวัตถุประสงค์พิเศษ

ความคิดเบื้องหลัง Base64 เกิดขึ้นเมื่อความต้องการเกิดขึ้นเพื่อรับมากกว่าอักขระข้อความที่เรียบง่ายผ่านการสื่อสารเครือข่ายเช่นอีเมลข้อความอีเมลแรกเริ่มต้นเมื่ออักขระที่เข้ารหัสในรหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล (ASCII) วิธีการเข้ารหัสที่ใช้ในคอมพิวเตอร์เพื่อแสดงอักขระตัวอักษรภาษาอังกฤษเป็นข้อความบนหน้าจอหรือเครื่องพิมพ์ในฐานะที่เป็นข้อมูลไบนารีเพิ่มเติมที่จำเป็นในการผ่านแผนการเข้ารหัสใหม่ได้รับการพัฒนา

วิธีการเข้ารหัส BASE64 ได้รับการอธิบายครั้งแรกในสิ่งที่เรียกว่ามาตรฐานการขยายเมล์เมล์เมล์ (MIME)วิธีการที่กำหนดมาตรฐาน MIME ซึ่งอักขระอื่น ๆ ที่ไม่ได้เข้ารหัส ASCII เช่นตัวอักษรที่ใช้โดยภาษาที่ไม่ใช่ภาษาอังกฤษรวมถึงข้อมูลไบนารีอื่น ๆ อาจถูกเข้ารหัสเป็นลำดับ ASCII และส่งผ่านข้อความอีเมลจากสองวิธีหลักของการเข้ารหัสที่อธิบายโดยมาตรฐาน MIME, Base64 แบ่งปันบทบาทกับอีกวิธีหนึ่งที่เรียกว่าพิมพ์ได้ในขณะที่วิธีที่พิมพ์ได้ที่สามารถพิมพ์ได้นั้นสามารถขยาย ASCII ได้ค่อนข้างเกินกว่าอักขระที่พิมพ์ได้ 94 ตัว แต่ Base64 สามารถใช้ลำดับของไบต์และแปลงเป็นลำดับ ASCII

Base64 ต้องใช้สตริงของข้อมูลที่ไม่เป็นไปตามมาตรฐาน ASCIIและแปลงเป็น ASCIIในการทำเช่นนี้วิธีการเข้ารหัสเป็นกระบวนการรวบรวมข้อมูลเป็นกลุ่มของสามไบต์และแปลงเป็นสี่ตัวเลขที่แสดงถึงอักขระ ASCII ที่สอดคล้องกันเนื่องจากไบต์คือแปดบิตซึ่งแต่ละบิตจะถูกแทนด้วยหนึ่งหรือศูนย์สามไบต์จึงเชื่อมโยงกันจนจบและลำดับทั้งหมดจะเข้าสู่บัฟเฟอร์ 24 บิตจากนั้น 24 คนและศูนย์จะถูกแบ่งออกเป็นสี่กลุ่มของหกบิตโดยแต่ละหมายเลขจะถูกกำหนดตัวเลขที่ตรงกับอักขระ ASCII

เนื่องจาก BASE64 สามารถเข้ารหัสข้อมูลไบนารีใด ๆ ลำดับของไบต์ใด ๆ สามารถผ่านกระบวนการได้มีการจับอย่างไรก็ตามในกรณีเหล่านั้นที่จำนวนไบต์สำหรับการเข้ารหัสที่ไม่สามารถแบ่งได้โดยสามเพื่อให้บิตสามารถพอดีกับบัฟเฟอร์หากลำดับไบต์มีให้พูดสี่หรือห้าไบต์บางสิ่งยังคงต้องใช้เพื่อเติมบัฟเฟอร์และทำ 24 บิตเต็มในกรณีเหล่านี้ไบต์ที่หายไปแต่ละครั้งจะถูกแสดงโดยแปด 0s และต่อมาถูกแปลงเป็นอักขระช่องว่างภายในในการเข้ารหัสเสร็จสิ้นนี่คือที่มาของตัวละครที่ 65 ที่กล่าวถึงก่อนหน้านี้มาจากแสดงในข้อความที่เข้ารหัสด้วยเครื่องหมายเท่ากับ (');มันจะปรากฏขึ้นในตอนท้ายของการเข้ารหัสเท่านั้นหากจำเป็นต้องมีฟิลเลอร์

ถึงแม้ว่า Base64 ได้รับการออกแบบมาเพื่อส่งข้อมูลไบนารีผ่านข้อความอีเมลการใช้งานของมันได้เข้ามาเล่นในพื้นที่อื่น ๆการใช้งานทั่วไปอย่างหนึ่งคือฐานข้อมูลเว็บและแอปพลิเคชันเพื่อเข้ารหัสข้อมูลสำหรับการสร้างตัวระบุตำแหน่งทรัพยากรแบบสม่ำเสมอ (URL) บนรูปแบบเว็บภาษามาร์กอัปที่ขยายได้ (XML) ยังใช้ตัวแปรที่อนุญาตให้ใช้ข้อมูลไบนารีเช่นภาพขนาดเล็กที่จะรวมอยู่ในเอกสาร XMLมีการเปลี่ยนแปลงอื่น ๆ สำหรับวิธีการเข้ารหัสและเทคนิคที่เกี่ยวข้องกับความปลอดภัยอื่น ๆ เช่นการซ่อนรหัสผ่าน