Base64 кодлол ба түүний хэрэглээ
Base64 кодлол нь хоёртын өгөгдлийг ASCII тэмдэгтэд суурилсан бичвэр хэлбэрт шилжүүлэн хөрвүүлэх арга юм. Энэхүү хөрвүүлэлтийг хийснээр өгөгдлийг мэдээлэл алдагдах, өөрчлөгдөх эрсдэлгүйгээр бичвэрт суурилсан системүүдээр дамжуулах боломжтой болдог. Вэб хөгжүүлэлт болон өгөгдөл дамжуулах явцад зураг, шрифт зэрэг хоёртын өгөгдлийг (binary data) бичвэр хэлбэртэй файлууд дотор шууд шигтгэж байршуулахад Base64 кодлолыг өргөн ашигладаг.
Энэхүү Base64 Кодлогч/Декодлогч хэрэгсэл нь бичвэрийг Base64 кодлосон цуваа руу хөрвүүлэх эсвэл Base64 кодлосон цувааг буцааж бичвэр рүү хөрвүүлэх үйлдлийг таны хөтөч дээр шууд, хугацаа алдалгүй гүйцэтгэдэг.
Стандарт болон URL-safe хувилбарын ялгаа
Base64 кодлол нь үндсэн хоёр хувилбартай бөгөөд тэдгээрийн тэмдэгтүүдийн бүтэц нь хэрэглээний зорилгоосоо хамааран ялгаатай байдаг:
- Стандарт: Энэхүү үндсэн хувилбар нь кодлол хийхдээ "+" болон "/" тэмдэгтүүдийг ашигладаг бөгөөд урт хугацааны өгөгдлийг тэгшитгэхийн тулд төгсгөлд нь "=" тэмдэгтийг (padding) нэмдэг. Гэвч эдгээр тэмдэгтүүд нь вэб хаяг (URL) болон файлын нэрэнд тусгай үүрэг гүйцэтгэдэг тул шууд ашиглахад хүндрэл үүсгэдэг.
- URL-safe: Энэхүү хувилбар нь вэб хаяг болон файлын нэрэнд ямар нэгэн нэмэлт хувиргалт (escaping) хийхгүйгээр шууд ашиглах боломжийг олгодог. Ингэхдээ стандарт хувилбарын "+" тэмдэгтийг "-" тэмдэгтээр, "/" тэмдэгтийг "_" тэмдэгтээр тус тус сольж, төгсгөлийн тэгшитгэх "=" тэмдэгтүүдийг бүрэн хасдаг.
Олон байт тэмдэгтүүд болон UTF-8 формат
Олон улсын тэмдэгтүүд, Хятад ханз эсвэл эможи зэрэг олон байт тэмдэгтүүдийг (multi-byte characters) кодлох үед тэмдэгтийн кодлолын стандарт маш чухал байдаг. Энэхүү хэрэгсэл нь оролтын бичвэрийг UTF-8 форматаар боловсруулдаг. Энэ нь ямар ч төрлийн тусгай тэмдэгт, эможи болон олон байт тэмдэгтүүдийг ямар нэгэн алдаа, эвдрэлгүйгээр зөв хөрвүүлэх нөхцөлийг бүрдүүлдэг.
Хэрэгслийн ажиллах горим ба дүрэм
Хэрэгслийг ашиглах явцад дараах дүрэм, онцлогууд үйлчилнэ:
- Анхны төлөв: Хуудсыг анх ачаалахад систем автоматаар "Кодлох" горим болон "Стандарт" хувилбарыг сонгосон байна.
- Горим шилжүүлэх: Хэрэглэгч "Кодлох" горимоос "Декодлох" горим руу шилжих үед одоогийн гаралт дахь утга автоматаар оролтын талбарт шилжинэ.
- Арилгах үйлдэл: "Арилгах" товчийг дарснаар гаралтын талбар цэвэрлэгдэж, курсор оролтын талбарт автоматаар шилжинэ.
- Хязгаарлалт: Оролтын тэмдэгтийн хэмжээ 5,000,000 тэмдэгтээс давсан тохиолдолд систем хөрвүүлэлтийг зогсоож, алдааны мэдэгдэл харуулна.
Алдааны мэдэгдлүүдийг ойлгох
Хөрвүүлэлт хийх явцад оролтын өгөгдлийн бүтцээс хамааран дараах алдааны мэдэгдлүүд гарч болно:
| Алдааны мэдэгдэл | Шалтгаан ба тайлбар |
|---|---|
| "Хүчингүй Base64 байна — буруу тэмдэгт эсвэл хуулах үеийн алдаа байгаа эсэхийг шалгана уу." | Оролтын талбарт оруулсан цуваа нь Base64 стандартад тохирохгүй, зөвшөөрөгдөөгүй тэмдэгт агуулсан эсвэл дутуу хуулагдсан үед гарна. |
| "Хүчинтэй Base64 байна, гэвч декодлосон байтууд нь хүчинтэй UTF-8 бичвэр биш байна — энэ нь кодлосон бичвэр биш, харин хоёртын өгөгдөл (зураг, шрифт г.м.) байж магадгүй." | Оруулсан Base64 цуваа нь зөв бүтэцтэй боловч декодлож гаргаж авсан байтууд нь уншигдах бичвэр биш, харин хоёртын форматтай файл (зураг, шрифт гэх мэт) байх үед гарна. |
| "Энэ хэрэгсэлд хэтэрхий урт байна — арай богино оролт ашиглана уу." | Оролтын талбарт оруулсан тэмдэгтийн урт нь зөвшөөрөгдөх дээд хязгаар болох 5,000,000 тэмдэгтээс давсан тохиолдолд харагдана. |
Нууцлал ба өгөгдөл боловсруулалт
Таны оруулсан бичвэрийг таны хөтөч дотор кодлож, декодлоно. BroBroGo руу ямар ч өгөгдөл хуулагдахгүй бөгөөд сервер рүү ямар нэгэн мэдээлэл илгээгдэхгүй тул өгөгдөл боловсруулах үйлцэл бүхэлдээ хэрэглэгчийн төхөөрөмж дээр хийгддэг.
Түгээмэл асуулт хариулт
Энд өөрийн бичвэрийг хуулж тавих нь аюулгүй юу?
Тийм. Кодлох болон декодлох үйлдэл нь бүхэлдээ таны хөтөч дээр хийгддэг тул BroBroGo руу ямар ч өгөгдөл илгээгдэхгүй.
Энэ нь Хятад тэмдэгт, эможи болон бусад олон байт тэмдэгтүүдийг зөв хөрвүүлж чадах уу?
Тийм. Бичвэрийг UTF-8 форматаар кодлож, декодлодог тул олон байт тэмдэгтүүд (multi-byte characters) эвдрэхгүйгээр зөв хөрвөдөг.
Стандарт болон URL-safe Base64 хоёрын ялгаа нь юу вэ?
URL-safe Base64 нь "+" ба "/" тэмдэгтүүдийг "-" ба "_" тэмдэгтээр сольж, тэгшитгэх тэмдэгтүүдийг (padding) орхидог тул үр дүнг нь URL эсвэл файлын нэрэнд шууд ашиглах боломжтой байдаг.
Оролтын хэмжээнд ямар нэгэн хязгаарлалт байдаг уу?
Тийм. Энэхүү хэрэгсэл нь хамгийн ихдээ 5,000,000 хүртэлх тэмдэгттэй оролтыг боловсруулах боломжтой бөгөөд үүнээс давсан тохиолдолд хэт урт байгааг анхааруулсан алдаа заана.