Base64 Кодер Декодер - Бесплатни Онлајн Base64 Конвертор Алат
Бесплатни base64 кодер декодер алат. Конвертујте текст у Base64 или декодирајте Base64 стрингове тренутно. Подржава стандардно и URL-безбедно кодирање. Пријава није потребна.
Base64 Кодер/Декодер
Конвертујте текст у и из Base64 кодирања
Dokumentacija
Шта је кодирање Base64?
Base64 је начин да се било који подаци, укључујући бинарне податке као што су слике, претворе у обичан текст састављен само од слова, цифара и неколико симбола. Base64 кодер претвара податке у овај текстуални облик. Base64 декодер их враћа у изворни облик. Програми користе Base64 за безбедан пренос бинарних података кроз системе, као што су имејл или JSON, који очекују обичан текст.
Base64 користи азбуку од 64 знакова:
- Велика слова A–Z (26 знакова)
- Мала слова a–z (26 знакова)
- Цифре 0–9 (10 знакова)
- Два симбола, обично
+и/(2 знака)
Неки системи такође користе знак једнакости (=) на крају излаза као допуну. Допуна није део азбуке од 64 знака; она само попуњава дужину.
Зашто Base64 постоји
Многи старији текстуални протоколи, укључујући имејл (SMTP) и неке делове HTTP-а, направљени су за пренос 7-битног ASCII текста. Они могу да оштете необрађене бинарне бајтове, као што су бајтови унутар JPEG слике. Base64 то избегава тако што сваки бајт представља само безбедним знаковима који могу да се прикажу. Зато прилози у имејлу, слике уграђене у веб-странице и бинарна поља унутар JSON-а обично прво пролазе кроз Base64.
Base64 није компресија нити шифровање. Кодирани излаз је увек већи од улаза и свако може да га декодира без лозинке или кључа.
Како се користи овај алат
- Унесите или налепите текст у поље за унос.
- Изаберите „Кодирај у Base64“ да бисте текст претворили у Base64 или „Декодирај из Base64“ да бисте Base64 ниску вратили у текст.
- Укључите конверзију уживо да би се излаз аутоматски ажурирао током куцања.
- Копирајте резултат помоћу дугмета за копирање.
Алат чита и записује стандардни Unicode текст, па се слова са дијакритицима, симболи и емоџији исправно кодирају и декодирају, а не само обична енглеска слова.
Како функционише кодирање Base64
Base64 претвара свака 3 бајта улаза (24 бита) у 4 излазна знака (од којих сваки садржи 6 бита), јер је 24 подељено са 6 једнако 4.
- Узмите улазне бајтове и запишите их у бинарном облику.
- Групишите битове у делове од 24 бита (3 бајта).
- Поделите сваки део од 24 бита на четири дела од 6 бита.
- Пронађите сваки 6-битни број (од 0 до 63) у Base64 азбуци и запишите одговарајући знак.
Ако дужина улаза није умножак броја 3, последњи део је краћи. Кодер га допуњава нултим битовима, а затим излазу додаје знакове = како би резултат и даље био у групама од 4:
- Један преостали бајт даје 2 Base64 знака и
==. - Два преостала бајта дају 3 Base64 знака и једно
=.
Пример кодирања Base64-ом
Кодирање речи „Hello“:
- ASCII вредности: 72, 101, 108, 108, 111
- Бинарно:
01001000 01100101 01101100 01101100 01101111 - Прва 3 бајта (24 бита) деле се на четири групе од 6 бита:
010010 000110 010101 101100, што су бројеви 18, 6, 21, 44 → знаковиS,G,V,s. - Преостала 2 бајта (16 бита) деле се на три групе од 6 бита, уз додавање 2 нултих битова на крају:
011011 000110 111100, што су бројеви 27, 6, 60 → знаковиb,G,8. - Пошто су преостала 2 бајта, на крају се додаје једно
=. - Резултат:
SGVsbG8=
Декодирање обрће ове кораке: сваки знак се пресликава назад у свој 6-битни број, битови се спајају у низ, а затим се тај низ чита у бајтовима од 8 бита.
Формула за дужину Base64 кода
За улаз од n бајтова, дужина кодираног текста у знаковима је:
encoded_length = 4 × ⌈n / 3⌉
где ⌈x⌉ означава заокруживање навише на најближи цео број. Ова формула показује зашто је Base64 излаз увек приближно за трећину већи од улаза: 4 излазна знака на свака 3 улазна бајта представљају повећање од 33%.
Где се Base64 користи
- Прилози у имејлу (MIME). Имејл је направљен за текст, па се прилози датотека пре слања претварају у Base64, због чега је приложена датотека око 33% већа од оригинала.
- URI-ји података. Мале слике могу да се уграде директно у HTML или CSS као текст, на пример
data:image/png;base64,iVBORw0KGgo..., чиме се избегава посебан захтев за датотеку. Ово најбоље функционише за мале датотеке, јер велике непотребно увећавају страницу и не могу засебно да се кеширају. - API-ји и JSON. JSON нема изворни начин за чување необрађених бинарних података, па се бинарне датотеке послате кроз JSON API често прво кодирају у Base64.
- Основна HTTP аутентификација. Заглавље
Authorizationкодира корисничко име и лозинку у Base64, на примерAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. Само по себи ово није безбедно; свако ко их пресретне може да прочита акредитиве, па Основну аутентификацију треба користити само преко HTTPS-а. - JSON веб-токени (JWT). Сваки од три дела JWT-а кодира се помоћу Base64URL-а, варијанте безбедне за смештање у URL.
- Чување бинарних података као текста. Базе података или конфигурационе датотеке које прихватају само текст понекад чувају бинарне податке као Base64 ниску.
Поређење Base64-а са другим кодирањима
Base64 безбедан за URL замењује стандардне знакове + и / знаковима - и _, јер + и / имају посебно значење унутар URL-а. Користи се за JWT-ове, параметре упита у URL-овима и називе датотека. Овај алат производи стандардни Base64 излаз; прелазак на облик безбедан за URL захтева само замену та два знака.
Base32 користи азбуку од 32 знака, па сваки знак садржи 5 битова уместо 6. Претвара сваких 5 бајтова у 8 знакова, уз додатних 60% (8 ÷ 5 = 1,6), у поређењу са 33% код Base64-а. Base32 се бира када излаз треба ручно уносити или читати преко телефона, јер избегава слова различите величине и знакове који се лако мешају.
Хексадекадни запис користи 16 знакова (0–9, A–F) и захтева 2 знака по бајту, чиме се величина удвостручује (додатних 100%). Уобичајен је за приказ хешева, боја и MAC адреса, где је читљивост важнија од компактне величине.
Када не треба користити Base64
Base64 повећава величину и оптерећење процесора, па није погодан за велике датотеке које се шаљу преко мреже; директно слање необрађених бинарних података је мање и брже. На њега се никада не треба ослањати за скривање осетљивих података, као што су лозинке или API кључеви, јер за декодирање није потребна тајна. За чување великих датотека обично су бољи бинарни тип колоне у бази података или услуга за чување датотека него дуга Base64 ниска у текстуалном пољу.
Честе грешке
- Прескакање конверзије UTF-8. Кодирање текста са словима са дијакритицима или емоџијима без претходног претварања у UTF-8 бајтове може да оштети излаз.
- Уклањање допуне. Неки системи уклањају завршне знакове
=. Већина декодера и даље може да ради ако се дужина ниске поново допуни до умношка броја 4, али не прихватају је сви, па је безбедније задржати допуну. - Заостали преломи реда. Старији кодери засновани на MIME-у убацују прелом реда на сваких 76 знакова; већина савремених декодера очекује једну непрекидну ниску без њих.
- Мешање варијанти. Стандардни Base64 и Base64 безбедан за URL користе различите знакове на исте две позиције у азбуци; декодирање погрешном варијантом производи бесмислен излаз или грешку.
Најчешће постављана питања
Да ли је Base64 облик шифровања? Не. То је реверзибилно кодирање текста, а не шифровање. Свако може одмах да декодира Base64 ниску без лозинке. Ако подаци треба да остану тајни, користите алгоритам за шифровање као што је AES.
Зашто Base64 повећава податке? Зато што троши један цео знак да би пренео само 6 битова, док необрађени бајт садржи 8 битова. Претварање 3 бајта (24 бита) у 4 знака значи да је излаз 4/3, односно око 33%, већи од улаза.
Могу ли Base64-ом да се кодирају слике и друге бинарне датотеке? Да. Свака бинарна датотека, укључујући слике, PDF-ове и аудио-записе, може да се кодира у Base64 и декодира назад бајт по бајт. Ово се често користи за мале слике уграђене у HTML или CSS, али је лош избор за велике датотеке.
Која је разлика између Base64-а и Base64URL-а?
Base64URL замењује стандардне знакове + и / знаковима - и _, па је резултат безбедан за смештање у URL или назив датотеке без додатног екранирања. JWT-ови користе Base64URL из тог разлога.
Зашто моја Base64 ниска при декодирању даје грешку „неисправно“?
Најчешћи узроци су знакови који не припадају Base64 азбуци, као што су - и _ које користи варијанта безбедна за URL, или ниска чија је дужина за један већа од умношка броја 4. Ниједна важећа Base64 ниска нема такву дужину. Декодирање такође не успева када декодирани бајтови нису важећи UTF-8 текст. Овај алат занемарује размаке и преломе реда унутар ниске и и даље декодира ниску чија је завршна допуна = уклоњена.
Одакле потиче Base64? Техника потиче од раних поступака за слање бинарних података кроз поштанске системе који су прихватали само текст, током 1980-их, а званично је стандардизована као део MIME-а у RFC 2045 године 1996. Тренутна референтна спецификација за Base64, Base32 и Base16 је RFC 4648.