UltKit

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.

Rejim

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 _.

  1. 0A
  2. 1B
  3. 2C
  4. 3D
  5. 4E
  6. 5F
  7. 6G
  8. 7H
  9. 8I
  10. 9J
  11. 10K
  12. 11L
  13. 12M
  14. 13N
  15. 14O
  16. 15P
  17. 16Q
  18. 17R
  19. 18S
  20. 19T
  21. 20U
  22. 21V
  23. 22W
  24. 23X
  25. 24Y
  26. 25Z
  27. 26a
  28. 27b
  29. 28c
  30. 29d
  31. 30e
  32. 31f
  33. 32g
  34. 33h
  35. 34i
  36. 35j
  37. 36k
  38. 37l
  39. 38m
  40. 39n
  41. 40o
  42. 41p
  43. 42q
  44. 43r
  45. 44s
  46. 45t
  47. 46u
  48. 47v
  49. 48w
  50. 49x
  51. 50y
  52. 51z
  53. 520
  54. 531
  55. 542
  56. 553
  57. 564
  58. 575
  59. 586
  60. 597
  61. 608
  62. 619
  63. 62+ -
  64. 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şBaytlarStandartURL-təhlükəsizUzunluq
U1VQ==VQ4
Ul2VWw=VWw4
Ult3VWx0VWx04
UltK4VWx0Sw==VWx0Sw8
UltKi5VWx0S2k=VWx0S2k8
UltKit6VWx0S2l0VWx0S2l08

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.