બેઝ64 એન્કોડર ડીકોડર - મફત ઓનલાઇન બેઝ64 રૂપાંતર સાધન
મફત બેઝ64 એન્કોડર ડીકોડર સાધન. ટેક્સ્ટને બેઝ64 માં રૂપાંતરિત કરો અથવા બેઝ64 સ્ટ્રિંગ્સને તરત જ ડીકોડ કરો. સ્ટાન્ડર્ડ અને URL-સુરક્ષિત એન્કોડિંગને સપોર્ટ કરે છે. લૉગિન જરૂરી નથી.
Base64 એન્કોડર/ડિકોડર
ટેક્સ્ટને Base64 એન્કોડિંગમાં રૂપાંતરિત કરો
દસ્તાવેજીકરણ
Base64 એન્કોડિંગ શું છે?
Base64 એ કોઈપણ ડેટા, જેમાં છબીઓ જેવા બાઇનરી ડેટાનો પણ સમાવેશ થાય છે, તેને માત્ર અક્ષરો, અંકો અને થોડાં પ્રતીકોથી બનેલા સાદા લખાણમાં ફેરવવાની રીત છે. base64 encoder ડેટાને આ લખાણ સ્વરૂપમાં ફેરવે છે. base64 decoder તેને મૂળ ડેટામાં પાછું ફેરવે છે. ઈમેલ અથવા JSON જેવી સાદા લખાણની અપેક્ષા રાખતી સિસ્ટમોમાં બાઇનરી ડેટાને સુરક્ષિત રીતે મોકલવા માટે પ્રોગ્રામો Base64નો ઉપયોગ કરે છે.
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 આઉટપુટ ઇનપુટ કરતાં હંમેશાં લગભગ એક તૃતીયાંશ મોટું કેમ હોય છે: દર 3 ઇનપુટ બાઇટ માટે 4 આઉટપુટ અક્ષરો એટલે 33% વધારો.
Base64નો ઉપયોગ ક્યાં થાય છે
- ઈમેલ જોડાણો (MIME). ઈમેલ લખાણ માટે બનાવવામાં આવ્યું હતું, તેથી મોકલતાં પહેલાં ફાઇલ જોડાણોને Base64માં ફેરવવામાં આવે છે અને જોડાયેલી ફાઇલ મૂળ કરતાં લગભગ 33% મોટી બને છે.
- Data URI. નાની છબીઓને HTML અથવા CSSની અંદર લખાણ તરીકે સીધી સમાવી શકાય છે, જેમ કે
data:image/png;base64,iVBORw0KGgo..., જેથી અલગ ફાઇલની વિનંતી કરવાની જરૂર રહેતી નથી. મોટી ફાઇલો પૃષ્ઠનું કદ વધારે છે અને અલગથી કૅશ કરી શકાતી નથી, તેથી આ રીત નાની ફાઇલો માટે શ્રેષ્ઠ છે. - API અને JSON. JSONમાં કાચો બાઇનરી ડેટા રાખવાની કોઈ મૂળભૂત રીત નથી, તેથી JSON API મારફતે મોકલાતી બાઇનરી ફાઇલોને ઘણી વાર પહેલાં Base64માં એન્કોડ કરવામાં આવે છે.
- HTTP Basic Authentication.
Authorizationહેડર વપરાશકર્તાનામ અને પાસવર્ડને Base64 તરીકે એન્કોડ કરે છે, ઉદાહરણ તરીકેAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=. આ પોતે સુરક્ષિત નથી; જે કોઈ તેને અટકાવે તે ઓળખાણપત્રો વાંચી શકે છે, તેથી Basic Authenticationનો ઉપયોગ માત્ર HTTPS પર જ કરવો જોઈએ. - JSON Web Token (JWT). JWTના ત્રણેય ભાગોમાંથી દરેકને Base64URL વડે એન્કોડ કરવામાં આવે છે, જે URLની અંદર મૂકવા માટે સુરક્ષિત પ્રકાર છે.
- બાઇનરી ડેટાને લખાણ તરીકે સંગ્રહવું. માત્ર લખાણ સ્વીકારતાં ડેટાબેઝ અથવા કૉન્ફિગરેશન ફાઇલો ક્યારેક બાઇનરી ડેટાને Base64 સ્ટ્રિંગ તરીકે રાખે છે.
Base64ની અન્ય એન્કોડિંગ સાથે સરખામણી
URL-સુરક્ષિત Base64 પ્રમાણભૂત + અને / અક્ષરોને - અને _ વડે બદલે છે, કારણ કે + અને /નો URLની અંદર વિશેષ અર્થ હોય છે. તેનો ઉપયોગ JWT, URL ક્વેરી પરિમાણો અને ફાઇલનામોમાં થાય છે. આ સાધન પ્રમાણભૂત Base64 આઉટપુટ આપે છે; URL-સુરક્ષિત સ્વરૂપમાં ફેરવવા માટે ફક્ત આ બે અક્ષરો બદલવાના રહે છે.
Base32 32-અક્ષરની વર્ણમાળાનો ઉપયોગ કરે છે, તેથી દરેક અક્ષર 5 બિટ્સ વહન કરે છે, 6 નહીં. તે દર 5 બાઇટને 8 અક્ષરોમાં ફેરવે છે, જેનું વધારાનું કદ 60% છે (8 ÷ 5 = 1.6), જ્યારે Base64 માટે તે 33% છે. આઉટપુટ હાથથી ટાઇપ કરવાનું અથવા ફોન પર વાંચવાનું હોય ત્યારે Base32 પસંદ કરવામાં આવે છે, કારણ કે તેમાં મોટા-નાના અક્ષરોનું મિશ્રણ અને સહેલાઈથી ગૂંચવાઈ જાય તેવા અક્ષરો ટળે છે.
હેક્સાડેસિમલ 16 અક્ષરો (0–9, A–F)નો ઉપયોગ કરે છે અને દરેક બાઇટ દીઠ 2 અક્ષરો જરૂરી બને છે, તેથી કદ બમણું થાય છે (100% વધારાનું કદ). હૅશ, રંગો અને MAC સરનામાં દર્શાવવા માટે તેનો સામાન્ય ઉપયોગ થાય છે, જ્યાં નાનું કદ કરતાં વાંચી શકાય તેવું હોવું વધુ મહત્ત્વનું છે.
Base64નો ઉપયોગ ક્યારે ન કરવો
Base64 કદ અને CPU ખર્ચ વધારે છે, તેથી નેટવર્ક મારફતે મોકલાતી મોટી ફાઇલો માટે તે યોગ્ય નથી; કાચો બાઇનરી ડેટા સીધો મોકલવો વધુ નાનો અને ઝડપી હોય છે. પાસવર્ડ અથવા API કી જેવી સંવેદનશીલ માહિતી છુપાવવા માટે તેના પર ક્યારેય આધાર રાખવો નહીં, કારણ કે તેને ડીકોડ કરવા માટે કોઈ ગુપ્ત માહિતી જરૂરી નથી. મોટી ફાઇલો સંગ્રહવા માટે ટેક્સ્ટ ક્ષેત્રમાં લાંબી Base64 સ્ટ્રિંગ કરતાં ડેટાબેઝનો બાઇનરી કૉલમ પ્રકાર અથવા ફાઇલ સંગ્રહ સેવા સામાન્ય રીતે વધુ સારી હોય છે.
સામાન્ય ભૂલો
- UTF-8 રૂપાંતરણ ટાળવું. ઉચ્ચારચિહ્નવાળા અક્ષરો અથવા ઇમોજી ધરાવતા લખાણને UTF-8 બાઇટમાં પહેલાં ફેરવ્યા વિના એન્કોડ કરવાથી આઉટપુટ બગડી શકે છે.
- પેડિંગ દૂર કરવું. કેટલીક સિસ્ટમો અંતિમ
=અક્ષરો કાઢી નાખે છે. જો સ્ટ્રિંગની લંબાઈને ફરીથી 4ના પૂર્ણ ગુણાકાર સુધી પેડ કરવામાં આવે, તો મોટા ભાગના ડીકોડર હજી પણ કાર્ય કરી શકે છે, પરંતુ બધા તેને સ્વીકારતા નથી; તેથી પેડિંગ જાળવી રાખવું વધુ સુરક્ષિત છે. - બાકી રહેલા લાઇન બ્રેક. જૂના MIME-આધારિત એન્કોડર દર 76 અક્ષરે લાઇન બ્રેક ઉમેરે છે; મોટા ભાગના આધુનિક ડીકોડરને તેના વિના એક અવિરત સ્ટ્રિંગની અપેક્ષા હોય છે.
- વેરિઅન્ટમાં ગોટાળો કરવો. પ્રમાણભૂત Base64 અને URL-સુરક્ષિત Base64 વર્ણમાળાના સમાન બે સ્થાનો માટે જુદા અક્ષરો વાપરે છે; ખોટા વેરિઅન્ટથી ડીકોડ કરવાથી કચરો અથવા ભૂલ મળે છે.
વારંવાર પૂછાતા પ્રશ્નો
શું Base64 એન્ક્રિપ્શનનો પ્રકાર છે? ના. તે પરત ફેરવી શકાય તેવું લખાણ એન્કોડિંગ છે, એન્ક્રિપ્શન નથી. કોઈપણ વ્યક્તિ પાસવર્ડ વિના Base64 સ્ટ્રિંગને તરત ડીકોડ કરી શકે છે. ડેટા ગુપ્ત રાખવો હોય તો AES જેવી એન્ક્રિપ્શન અલ્ગોરિધમનો ઉપયોગ કરો.
Base64 ડેટાને મોટું કેમ બનાવે છે? કારણ કે તે માત્ર 6 બિટ્સ વહન કરવા માટે એક આખો અક્ષર ખર્ચે છે, જ્યારે કાચો બાઇટ 8 બિટ્સ ધરાવે છે. 3 બાઇટ્સ (24 બિટ્સ)ને 4 અક્ષરોમાં ફેરવવાનો અર્થ એ છે કે આઉટપુટ ઇનપુટ કરતાં 4/3, એટલે કે લગભગ 33%, મોટું હોય છે.
શું Base64 છબીઓ અને અન્ય બાઇનરી ફાઇલોને એન્કોડ કરી શકે છે? હા. છબીઓ, PDF અને ઑડિયો સહિત કોઈપણ બાઇનરી ફાઇલને Base64માં એન્કોડ કરી શકાય છે અને બાઇટ-દર-બાઇટ પાછી ડીકોડ કરી શકાય છે. HTML અથવા CSSમાં સમાવેલી નાની છબીઓ માટે તેનો સામાન્ય ઉપયોગ થાય છે, પરંતુ મોટી ફાઇલો માટે તે યોગ્ય નથી.
Base64 અને Base64URL વચ્ચે શું તફાવત છે?
Base64URL પ્રમાણભૂત + અને / અક્ષરોને - અને _ વડે બદલે છે, તેથી વધારાની એસ્કેપિંગ વિના પરિણામને URL અથવા ફાઇલનામમાં મૂકવું સુરક્ષિત બને છે. આ કારણસર JWTમાં Base64URLનો ઉપયોગ થાય છે.
ડીકોડ કરતી વખતે મારી Base64 સ્ટ્રિંગ "invalid" ભૂલ કેમ આપે છે?
સૌથી સામાન્ય કારણોમાં Base64 વર્ણમાળામાં ન આવતા અક્ષરોનો સમાવેશ થાય છે, જેમ કે URL-સુરક્ષિત વેરિઅન્ટમાં વપરાતા - અને _, અથવા એવી સ્ટ્રિંગ જેની લંબાઈ 4ના પૂર્ણ ગુણાકાર કરતાં એક વધારે હોય. કોઈ માન્ય Base64 સ્ટ્રિંગની લંબાઈ આવી હોઈ શકતી નથી. ડીકોડ કરેલા બાઇટ માન્ય UTF-8 લખાણ ન હોય ત્યારે પણ ડીકોડિંગ નિષ્ફળ જાય છે. આ સાધન સ્ટ્રિંગની અંદરના સ્પેસ અને લાઇન બ્રેકને અવગણે છે અને અંતિમ = પેડિંગ કાઢી નાખવામાં આવ્યું હોય તેવી સ્ટ્રિંગને પણ ડીકોડ કરે છે.
Base64 ક્યાંથી આવ્યું? આ તકનીક 1980ના દાયકામાં માત્ર લખાણ મોકલતી ટપાલ પ્રણાલીઓ મારફતે બાઇનરી ડેટા મોકલવાની પ્રારંભિક પદ્ધતિઓ સુધી પહોંચે છે અને RFC 2045માં 1996માં MIMEના ભાગ તરીકે તેનું ઔપચારિક માનકીકરણ થયું હતું. Base64, Base32 અને Base16 માટેનું વર્તમાન સંદર્ભ સ્પષ્ટીકરણ RFC 4648 છે.