Base64 kodlaşdırma və dekodlaşdırma
Mətni və ya faylı Base64-ə çevirin, yaxud Base64-ü yenidən oxunaqlı mətnə açın. Unicode düzgün işlənir, URL-safe əlifbaya bir kliklə keçilir, dekodlaşdırma isə doldurma simvolları olsa da, olmasa da hər iki əlifbanı qəbul edir.
0 simvol · 0 söz · 0 sətir
0 simvol · 0 söz · 0 sətir
Tamamilə bu brauzer səkməsində işləyir. Mətniniz heç vaxt yüklənmir və saxlanmır.
Base64 əlifbası
RFC 4648-dən indeks → simvol. Vurğulanmış son ikisi URL-təhlükəsiz variantda fərqlənir: 62 + və ya -, 63 / və ya _.
- 0A
- 1B
- 2C
- 3D
- 4E
- 5F
- 6G
- 7H
- 8I
- 9J
- 10K
- 11L
- 12M
- 13N
- 14O
- 15P
- 16Q
- 17R
- 18S
- 19T
- 20U
- 21V
- 22W
- 23X
- 24Y
- 25Z
- 26a
- 27b
- 28c
- 29d
- 30e
- 31f
- 32g
- 33h
- 34i
- 35j
- 36k
- 37l
- 38m
- 39n
- 40o
- 41p
- 42q
- 43r
- 44s
- 45t
- 46u
- 47v
- 48w
- 49x
- 50y
- 51z
- 520
- 531
- 542
- 553
- 564
- 575
- 586
- 597
- 608
- 619
- 62+ -
- 63/ _
Çıxış nə qədər uzanır
Hər 3 giriş baytı 4 simvola çevrilir; 1 və ya 2 baytlıq son qrup standart Base64-də = ilə doldurulur, URL-təhlükəsiz formada doldurulmur.
| Giriş | Baytlar | Standart | URL-təhlükəsiz | Uzunluq |
|---|---|---|---|---|
U | 1 | VQ== | VQ | 4 |
Ul | 2 | VWw= | VWw | 4 |
Ult | 3 | VWx0 | VWx0 | 4 |
UltK | 4 | VWx0Sw== | VWx0Sw | 8 |
UltKi | 5 | VWx0S2k= | VWx0S2k | 8 |
UltKit | 6 | VWx0S2l0 | VWx0S2l0 | 8 |
Base64 nə edir
RFC 4648-də müəyyən edilmiş Base64 istənilən baytları 64 çap oluna bilən ASCII simvolu ilə yazır: A–Z, a–z, 0–9, + və /. Hər üç baytlıq qrup (24 bit) dörd 6 bitlik ədədə bölünür və hər ədəd əlifbadan bir simvol seçir. Giriş uzunluğu üçə bölünmürsə, sonuncu qrupun sonuna bir və ya iki = işarəsi əlavə olunur. Nəticə həmişə girişdən təxminən 33% böyük olur: hər 3 bayta 4 simvol düşür.
Base64 ona görə mövcuddur ki, bir çox kanal mətn üçün yaradılıb. E-poçt (MIME), HTML və CSS-dəki data: URL-lər, şəkil və ya sertifikat daşıyan JSON sahələri və HTTP Basic autentifikasiya başlıqları ikili məlumatı təhlükəsiz ötürmək üçün Base64-dən istifadə edir. Bu şifrələmə deyil və heç nəyi gizlətmir; deşifrə üçün açar lazım deyil.
Unicode və URL-safe variant
Base64 hərfləri deyil, baytları kodlaşdırır, ona görə mətn əvvəlcə baytlara çevrilməlidir. Bu alət həmişə veb-in istifadə etdiyi UTF-8 kodlaşdırmasından istifadə edir: é iki bayta, emoji isə dörd bayta çevrilir. Brauzerin daxili btoa funksiyası U+00FF-dən yuxarı istənilən simvolda xəta verir, buna görə sadə kodlayıcılar aksentli hərflərdə və emojilərdə uğursuz olur; burada mətn əvvəlcə TextEncoder-dən keçir, deşifrə zamanı isə TextDecoder əksini edir. Deşifrə olunmuş baytlar etibarlı UTF-8 deyilsə (şəkil, zip faylı), alət onları pozulmuş mətn əvəzinə onaltılıq formatda göstərir.
Standart Base64 + və / işlədir, bunların isə URL-lərdə və fayl adlarında xüsusi mənası var. RFC 4648-in 5-ci bölməsindəki URL-təhlükəsiz əlifba onları - və _ ilə əvəz edir, doldurma isə adətən atılır. JSON Web Token-lər məhz bu formadan istifadə edir. Deşifrəedici hər iki əlifbanı və çatışmayan doldurmanı qəbul edir, buna görə istənilən birini yapışdıra bilərsiniz.
Faylların və şəkillərin kodlaşdırılması
Fayl seçin, alət onu FileReader ilə yerli olaraq oxuyur və onun Base64 kodunu və ya img teqinə ya da CSS fonuna yapışdırmağa hazır, faylın MIME növü olan tam data: URL qaytarır. Daxili şəkillər bir HTTP sorğusuna qənaət edir, lakin üçdə bir böyüyür və ayrıca keşlənə bilmir, ona görə foto üçün yox, kiçik ikonlar üçün uyğundur. Önbaxışı və hazır HTML və CSS kodları olan şəkillər üçün Şəkildən Base64-ə alətindən istifadə edin.
Tez-tez verilən suallar
- Base64 nəticəsi niyə daxil etdiyim məlumatdan uzundur?
- Hər 3 bayt 4 simvola çevrilir, ona görə nəticə girişin təxminən 4/3 həcmində olur, üstəgəl ikiyə qədər doldurma simvolu. ASCII olmayan mətn daha da uzun olur, çünki UTF-8 hər simvol üçün iki–dörd bayt işlədir.
- Sondakı = işarələri nədir?
- Doldurma. Giriş uzunluğu üçə bölünmədikdə nəticənin uzunluğunu dördün misli edirlər. Bir = sonuncu qrupda iki bayt, iki = isə bir bayt olduğunu göstərir.
- Dekodlaşdırma niyə yanlış simvol xətası ilə dayanır?
- Girişdə əlifbadan kənar nəsə var: məsələn, söz içində boşluq, dırnaq işarəsi və ya URL kodlaşdırmasından qalan %. Sətir keçidləri və çatışmayan doldurma qəbul edilir, digər simvollar isə yox.
- Şifrəni Base64 ilə kodlaşdırmaq təhlükəsizdirmi?
- Base64 heç bir qoruma təklif etmir. HTTP Basic autentifikasiya user:password məlumatını Base64-lə göndərir, buna görə yalnız HTTPS üzərindən istifadə olunmalıdır. Sirləri qorumaq üçün real şifrələmə və ya heşləmə işlədin.
- Base64 ilə Base64url arasında nə fərq var?
- Yalnız iki simvol və doldurma: Base64url + və / əvəzinə - və _ işlədir və adətən = işarəsini buraxır, beləliklə nəticə URL-lərdə və fayl adlarında xüsusi işarələmə olmadan yerləşə bilir.