UltKit

Base64 Encode na Decode

Geuza maandishi au faili kuwa Base64, au fumbua Base64 kurudi kuwa maandishi yanayosomeka. Unicode hushughulikiwa ipasavyo, alfabeti salama kwa URL iko umbali wa mbofyo mmoja, na ufumbuaji hukubali alfabeti yoyote kati ya hizo mbili, ikiwa na au bila padding.

Hali

Herufi 0 · maneno 0 · mistari 0

Herufi 0 · maneno 0 · mistari 0

Inafanya kazi kabisa ndani ya kichupo hiki cha kivinjari. Maandishi yako hayapakiwi wala kuhifadhiwa.

Alfabeti ya Base64

Faharasa → herufi kutoka RFC 4648. Mbili za mwisho zilizoangaziwa hutofautiana katika toleo salama kwa URL: 62 ni + au -, 63 ni / au _.

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

Matokeo yanakuwa marefu kiasi gani

Kila baiti 3 za ingizo huwa herufi 4; kundi la mwisho la baiti 1 au 2 hujazwa = katika Base64 ya kawaida na huachwa bila padding katika toleo salama kwa URL.

IngizoBaitiYa kawaidaSalama kwa URLUrefu
U1VQ==VQ4
Ul2VWw=VWw4
Ult3VWx0VWx04
UltK4VWx0Sw==VWx0Sw8
UltKi5VWx0S2k=VWx0S2k8
UltKit6VWx0S2l0VWx0S2l08

Base64 hufanya nini

Base64, iliyofafanuliwa katika RFC 4648, huandika baiti zozote kwa kutumia herufi 64 za ASCII zinazoweza kuchapishwa: A–Z, a–z, 0–9, + na /. Kila kundi la baiti tatu (biti 24) hugawanywa kuwa nambari nne za biti 6, na kila nambari huchagua herufi moja kutoka kwenye orodha hiyo. Urefu wa data ya kuingiza usipokuwa kigawe cha tatu, kundi la mwisho hujazwa kwa alama moja au mbili za =. Matokeo huwa makubwa kwa takriban 33% kuliko data ya kuingiza: herufi 4 kwa kila baiti 3.

Ipo kwa sababu njia nyingi za mawasiliano zilitengenezwa kwa maandishi. Barua pepe (MIME), URL za data: ndani ya HTML na CSS, sehemu za JSON zinazobeba picha au vyeti, na vichwa vya uthibitishaji vya HTTP Basic zote hutumia Base64 kusafirisha data ya mfumo wa jozi kwa usalama. Si usimbaji fiche na haifichi chochote; kusimbua hakuhitaji ufunguo.

Unicode na toleo salama kwa URL

Base64 husimba baiti, si herufi, kwa hivyo maandishi lazima kwanza yabadilishwe kuwa baiti. Zana hii hutumia UTF-8 kila wakati, usimbaji ambao wavuti hutegemea: é huwa baiti mbili na emoji baiti nne. Kitendakazi cha btoa kilichojengewa ndani ya kivinjari peke yake hutoa hitilafu kwa herufi yoyote iliyo juu ya U+00FF, ndiyo maana visimbaji vya kawaida hushindwa kwenye vistari vya herufi na emoji; hapa maandishi hupitia TextEncoder kwanza, na kusimbua hurudisha kwa TextDecoder. Baiti zilizosimbuliwa zisipokuwa UTF-8 halali (picha, faili ya zip), zana huzionyesha kama heksadesimali badala ya maandishi yaliyoharibika.

Base64 ya kawaida hutumia + na /, ambazo zina maana katika URL na majina ya faili. Orodha salama kwa URL kutoka sehemu ya 5 ya RFC 4648 huzibadilisha na - na _, na ujazo kwa kawaida huondolewa. JSON Web Tokens hutumia muundo huu hasa. Kisimbuzi hukubali orodha zote mbili na ujazo uliokosekana, kwa hivyo unaweza kubandika yoyote.

Kusimba faili na picha

Chagua faili na zana huisoma ndani ya kifaa chako kwa FileReader kisha hurudisha Base64 yake, au URL kamili ya data: yenye aina ya MIME ya faili tayari kubandikwa kwenye lebo ya img au mandharinyuma ya CSS. Picha zilizopachikwa huokoa ombi moja la HTTP lakini hukua kwa theluthi na haziwezi kuhifadhiwa kwenye kache kivyake, kwa hivyo zinafaa aikoni ndogo kuliko picha za kamera. Kwa picha zenye hakikisho na vipande tayari vya HTML na CSS, tumia Picha kuwa Base64.

Maswali yanayoulizwa mara kwa mara

Kwa nini matokeo ya Base64 ni marefu kuliko ingizo langu?
Kila baiti 3 huwa herufi 4, kwa hivyo matokeo ni takriban 4/3 ya ukubwa wa data ya kuingiza, pamoja na hadi herufi mbili za ujazo. Maandishi yasiyo ya ASCII huwa marefu zaidi, kwa kuwa UTF-8 hutumia baiti mbili hadi nne kwa kila herufi.
Alama za = mwishoni ni nini?
Ujazo. Hufanya urefu wa matokeo kuwa kigawe cha nne wakati urefu wa data ya kuingiza si kigawe cha tatu. = moja humaanisha kundi la mwisho lilikuwa na baiti mbili, = mbili humaanisha lilikuwa na baiti moja.
Kwa nini ufumbuaji unashindwa kwa hitilafu ya herufi batili?
Data uliyoingiza ina kitu nje ya orodha ya herufi, kama nafasi ndani ya neno, nukuu, au % kutoka usimbaji wa URL. Mistari mipya na ujazo uliokosekana huvumiliwa; herufi nyingine hazivumiliwi.
Je, ni salama kusimba nenosiri kwa Base64?
Base64 haitoi ulinzi wowote. Uthibitishaji wa HTTP Basic hutuma user:password kwa Base64, ndiyo maana lazima utumike kupitia HTTPS pekee. Tumia usimbaji fiche halisi au hashing kulinda siri.
Kuna tofauti gani kati ya Base64 na Base64url?
Herufi mbili tu na ujazo: Base64url hutumia - na _ badala ya + na / na kwa kawaida huacha =, ili matokeo yaweze kukaa kwenye URL na majina ya faili bila kuhitaji kuepushwa.