ตัวเข้ารหัสไฟล์ Base64
Base64 เปลี่ยนไฟล์ไบนารีใดก็ได้ให้เป็นสตริงของอักขระ ASCII ที่พิมพ์ได้ ซึ่งสามารถเดินทางผ่านระบบที่ออกแบบมาสำหรับข้อความเท่านั้น เช่น JSON, YAML, เนื้อหาอีเมล, SMS หรือการคัดลอกวางลงในแชต ตัวเข้ารหัสนี้รับไฟล์ใดก็ได้ ไม่ว่าจะเป็น PDF, รูปภาพ, ZIP หรือแม้แต่ไฟล์ปฏิบัติการ แล้วคืนค่าเป็น Base64 ที่พร้อมวางลงใน data: URI, เพย์โหลดของ API หรือไฟล์การตั้งค่า
วิธีเข้ารหัสไฟล์
-
1
ลากไฟล์ใดก็ได้ลงในตัวเข้ารหัส
ใช้ได้กับทุกรูปแบบไบนารี เบราว์เซอร์จะอ่านไบต์ดิบ
-
2
ไบต์ถูกเข้ารหัสเป็น Base64
ทุกสามไบต์จะกลายเป็นสี่อักขระ ASCII จากชุดอักขระ `A-Z a-z 0-9 + /`
-
3
เลือกรูปแบบผลลัพธ์
Base64 ธรรมดา, `data:` URI พร้อมชนิด MIME ที่เบราว์เซอร์รายงาน (หรือค่าเริ่มต้นทั่วไป) หรือรูปแบบที่ปลอดภัยสำหรับสตริง JSON
-
4
คัดลอกหรือดาวน์โหลดเป็นข้อความ
ไฟล์ขนาดใหญ่ให้ดาวน์โหลดเป็น `.txt`; ไฟล์ขนาดเล็กคัดลอกไปยังคลิปบอร์ดได้
ภาระด้านขนาด
Base64 ขยายทุกสามไบต์ให้เป็นสี่อักขระ ทำให้ค่าใช้จ่ายด้านพื้นที่จัดเก็บและเครือข่ายเพิ่มขึ้น 33% การเติม = เพิ่มอีกไม่กี่ไบต์ ประมาณคร่าว ๆ ได้ดังนี้:
| ขนาดไฟล์ที่ป้อนเข้า | ขนาดข้อความ Base64 |
|---|---|
| 1 KB | 1.33 KB |
| 100 KB | 133 KB |
| 1 MB | 1.33 MB |
| 10 MB | 13.3 MB |
การฝังไฟล์ไบนารีขนาดใหญ่เป็น Base64 ใน HTML หรือ JSON เป็นวิธีที่ทำให้เวลาโหลดหน้าและหน่วยความจำของตัวแยกวิเคราะห์พองตัวอย่างรวดเร็ว ควรฝังแบบอินไลน์สำหรับสิ่งที่ใหญ่เกินราว 10 KB เฉพาะเมื่อข้อจำกัดของการนำไปใช้งานบังคับให้ต้องทำเท่านั้น
กรณีใช้งานที่พบบ่อย
- Data URI, รูปภาพอินไลน์ขนาดเล็กใน CSS หรือ HTML:
url("data:image/png;base64,iVBORw0KGgo...") - ไฟล์แนบในอีเมล, เนื้อหาแบบ MIME multipart เข้ารหัสไฟล์แนบเป็น Base64 เพื่อส่งผ่าน SMTP ได้อย่างปลอดภัย
- เพย์โหลด JSON, ฝัง PDF หรือ ZIP ไว้ในฟิลด์ JSON สำหรับ API ที่ส่งคำขอครั้งเดียว
- ไฟล์ YAML/การตั้งค่า, ส่งคีย์ TLS หรือข้อมูลไบนารีขนาดเล็กไว้ในไฟล์การตั้งค่า
รูปแบบและการเติม
ชุดอักขระ Base64 มาตรฐานตาม RFC 4648 มี 64 สัญลักษณ์ ได้แก่ A-Z, a-z, 0-9, + และ / ส่วน = เป็นอักขระเติมท้าย ไม่ใช่ส่วนหนึ่งของชุดอักขระ สำหรับผลลัพธ์ที่ปลอดภัยกับ URL (แทน + ด้วย - และ / ด้วย _) ให้ใช้ปุ่มสลับเฉพาะ การเติมท้ายเปิดไว้โดยค่าเริ่มต้นและสามารถปิดได้
หมายเหตุด้านความเป็นส่วนตัว
ไฟล์ไม่ออกจากอุปกรณ์ของคุณ FileReader API อ่านไบต์ภายในเบราว์เซอร์ และ JavaScript ทำการเข้ารหัส เรื่องนี้สำคัญเมื่อเข้ารหัส PDF ที่มีข้อมูลละเอียดอ่อน คีย์ส่วนตัว หรือทรัพยากรที่ยังไม่เผยแพร่
คำถามที่พบบ่อย
ตัวเข้ารหัสรับไฟล์หนึ่งไฟล์ขนาดไม่เกิน 50 MB ผลลัพธ์ Base64 มีขนาดใหญ่กว่าไฟล์ต้นฉบับและถูกเก็บไว้ในหน่วยความจำของเบราว์เซอร์ ขีดจำกัดนี้จึงช่วยป้องกันการใช้หน่วยความจำมากเกินไป
ใช้เมื่อต้องการชุดอักขระที่เหมาะกับ URL หรือชื่อไฟล์ Base64 แบบ URL-safe (RFC 4648 ส่วนที่ 5) จะแทน + ด้วย - และ / ด้วย _ ส่วนตัวเลือกการเติมที่แยกต่างหากจะกำหนดว่าจะเก็บอักขระ = ท้ายข้อความไว้หรือไม่
สำคัญเฉพาะกับผลลัพธ์แบบ data: URI เท่านั้น data:image/png;base64,... บอกเบราว์เซอร์ว่าจะแสดงผลไบต์ที่ถอดรหัสแล้วอย่างไร สำหรับ Base64 ธรรมดาหรือการฝังใน JSON ชนิด MIME ไม่ได้เป็นส่วนหนึ่งของข้อมูลที่เข้ารหัส
HTML สามารถมี URL แบบ data:application/pdf;base64,... ได้ แต่เบราว์เซอร์สมัยใหม่มักบล็อกการนำทางระดับบนสุดไปยัง URL แบบ data: และการดาวน์โหลดทำงานไม่สม่ำเสมอในแต่ละเบราว์เซอร์ ค่าขนาดใหญ่อาจชนข้อจำกัดของ URL หน่วยความจำ หรือ Content Security Policy ด้วย หากต้องการให้ดาวน์โหลดได้อย่างน่าเชื่อถือ ให้สร้าง URL อ็อบเจ็กต์ Blob ในโค้ดเบราว์เซอร์ หรือลิงก์ไปยังไฟล์ที่โฮสต์ผ่าน HTTPS
เครื่องมือที่เกี่ยวข้อง
ตัวระบุการเข้ารหัส
วางไซเฟอร์เท็กซ์หรือแฮช แล้วตัวระบุจะแนะนำอัลกอริทึมหรือการเข้ารหัสที่น่าจะเป็น: MD5, SHA, bcrypt, AES, RSA, Base64 และอื่น ๆ
ตัวสร้าง HMAC
สร้างลายเซ็น HMAC (SHA-256, SHA-384, SHA-512, SHA-1 และ MD5) จากข้อความและกุญแจลับ เพื่อใช้ในการยืนยันตัวตนผ่าน API และ Webhook
เครื่องแปลง ETH เป็น USD
แปลงอีเธอเรียม (ETH) เป็นดอลลาร์สหรัฐด้วยอัตรา ETH/USD แบบเรียลไทม์หรืออัตราที่คุณกำหนดเอง ดูว่าจำนวน ETH เท่าใดก็ได้มีมูลค่าเป็น USD เท่าไร
เครื่องแปลง Gwei เป็น Ether
แปลงจำนวนในหน่วย Gwei เป็น Ether (ETH) ด้วยทศนิยมสูงสุด 18 ตำแหน่ง มีประโยชน์สำหรับการประมาณค่าธรรมเนียม Gas และการอ่านข้อมูลธุรกรรม
เครื่องคำนวณแฮชของไฟล์
คำนวณค่าแฮช MD5, SHA-1, SHA-256 และ SHA-512 ของข้อความหรือเนื้อหาไฟล์ที่คุณวาง เพื่อตรวจสอบไฟล์ที่ดาวน์โหลดและความสมบูรณ์ของไฟล์
ตัวสร้าง JWT
สร้าง JWT ที่มีการลงนาม โดยกำหนดหัวข้อ (header) แบบกำหนดเอง สิทธิ์ของพารามิเตอร์ในเนื้อหา (payload claims) การลงนามด้วย HMAC หรือ RSA รวมถึงกำหนดระยะเวลาหมดอายุและกลุ่มผู้ใช้งานที่อนุญาต เพื่อใช้ในการทดสอบ
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Base64-bestandsencoder [NL]
- Encodeur de fichiers Base64 [FR]
- مشفر ملفات Base64 [AR]
- Koder plików Base64 [PL]
- Encoder File Base64 [ID]
- Base64-Datei-Encoder [DE]
- Codificador de archivos Base64 [ES]
- Base64ファイルエンコーダー [JA]
- Base64-filencoder [SV]
- Bộ mã hóa tệp Base64 [VI]
- Base64 파일 인코더 [KO]
- Codificador de Arquivos Base64 [PT]
- Base64 File Encoder [EN]
- Codificatore di file Base64 [IT]
- Кодировщик файлов Base64 [RU]
- Base64 Dosya Kodlayıcı [TR]
- Base64 文件编码器 [ZH]