બેસ64 એન્કોડર અને ડિકોડર: લખાણને બેસ64માં/થી રૂપાંતરિત કરો
લખાણને બેસ64માં એન્કોડ કરવા અથવા બેસ64 સ્ટ્રિંગને પાછા લખાણમાં ડિકોડ કરવા માટેની મફત ઓનલાઈન ટૂલ. તુરંત રૂપાંતરણ સાથે માનક અને URL-સુરક્ષિત બેસ64 એન્કોડિંગને સપોર્ટ કરે છે.
બેઝ64 એન્કોડર/ડિકોડર
દસ્તાવેજીકરણ
Base64 એન્કોડર અને ડિકોડર
પરિચય
Base64 એ બાઈનરીથી ટેક્સ્ટ એન્કોડિંગ યોજના છે જે બાઈનરી ડેટાને ASCII સ્ટ્રિંગ ફોર્મેટમાં રજૂ કરે છે. તે બાઈનરી ફોર્મેટમાં સંગ્રહિત ડેટાને ટેક્સ્ટ આધારિત સામગ્રી દ્વારા વિશ્વસનીય રીતે પસાર કરવા માટે ડિઝાઇન કરવામાં આવ્યું છે. Base64 એન્કોડિંગ બાઈનરી ડેટાને 64 અક્ષરોના સેટમાં રૂપાંતરિત કરે છે (આથી નામ) જે ટેક્સ્ટ આધારિત પ્રોટોકોલ દ્વારા સલામત રીતે મોકલવા માટે ડેટા વિક્ષેપ વિના મોકલવામાં આવી શકે છે.
Base64 અક્ષર સેટમાં સમાવેશ થાય છે:
- મોટા અક્ષરો A-Z (26 અક્ષરો)
- નાના અક્ષરો a-z (26 અક્ષરો)
- આંકડા 0-9 (10 અક્ષરો)
- બે વધારાના અક્ષરો, સામાન્ય રીતે "+" અને "/" (2 અક્ષરો)
આ સાધન તમને સરળતાથી ટેક્સ્ટને Base64 ફોર્મેટમાં એન્કોડ અથવા Base64 સ્ટ્રિંગને તેમના મૂળ ટેક્સ્ટમાં ડિકોડ કરવાની મંજૂરી આપે છે. તે વિશેષતઃ વિકાસકર્તાઓ, IT વ્યાવસાયિકો અને કોઈપણ માટે ઉપયોગી છે જે એવા ડેટા સાથે કાર્ય કરે છે જે ટેક્સ્ટ આધારિત ચેનલ દ્વારા સલામત રીતે મોકલવા માટે જરૂરી છે. અમારા વાસ્તવિક-સમયના રૂપાંતરણ ફીચર સાથે, તમે ટાઈપ કરતા જ પરિણામોને તરત જ જોઈ શકો છો, જે તમારી એન્કોડિંગ અને ડિકોડિંગ કાર્યપ્રવાહને વધુ કાર્યક્ષમ બનાવે છે.
Base64 એન્કોડિંગ કેવી રીતે કાર્ય કરે છે
એન્કોડિંગ પ્રક્રિયા
Base64 એન્કોડિંગ બાઈનરી ડેટાના દરેક ત્રણ બાઇટ્સ (24 બિટ) ના સમૂહને ચાર Base64 અક્ષરોમાં રૂપાંતરિત કરીને કાર્ય કરે છે. પ્રક્રિયા આ પગલાંઓનું પાલન કરે છે:
- ઇનપુટ ટેક્સ્ટને તેની બાઈનરી પ્રતિનિધિત્વમાં રૂપાંતરિત કરો (ASCII અથવા UTF-8 એન્કોડિંગનો ઉપયોગ કરીને)
- બાઈનરી ડેટાને 24 બિટના સમૂહોમાં જૂથબદ્ધ કરો (3 બાઇટ્સ)
- દરેક 24-બિટના સમૂહને ચાર 6-બિટના સમૂહોમાં વિભાજિત કરો
- દરેક 6-બિટના સમૂહને તેના અનુરૂપ Base64 અક્ષરમાં રૂપાંતરિત કરો
જ્યારે ઇનપુટની લંબાઈ 3 દ્વારા વિભાજ્ય નથી, ત્યારે 4:3 ના આઉટપુટથી ઇનપુટની લંબાઈ જાળવવા માટે "=" અક્ષરો સાથે પેડિંગ ઉમેરવામાં આવે છે.
ગણિતીય પ્રતિનિધિત્વ
બાઇટ્સના એક ક્રમ માટે , અનુરૂપ Base64 અક્ષરો ની ગણતરી આ રીતે કરવામાં આવે છે:
જ્યાં -મો અક્ષર Base64 અક્ષરમાળામાં દર્શાવે છે.
ડિકોડિંગ પ્રક્રિયા
Base64 ડિકોડિંગ એન્કોડિંગ પ્રક્રિયાને વિરુદ્ધ કરે છે:
- દરેક Base64 અક્ષરને તેના 6-બિટના મૂલ્યમાં રૂપાંતરિત કરો
- આ 6-બિટના મૂલ્યોને જોડો
- બિટ્સને 8-બિટના સમૂહોમાં (બાઇટ્સ) જૂથબદ્ધ કરો
- દરેક બાઇટને તેના અનુરૂપ અક્ષરમાં રૂપાંતરિત કરો
પેડિંગ
જ્યારે એન્કોડ કરવા માટે બાઇટ્સની સંખ્યા 3 દ્વારા વિભાજ્ય નથી, ત્યારે પેડિંગ લાગુ થાય છે:
- જો એક બાઇટ બાકી હોય, તો તેને બે Base64 અક્ષરોમાં રૂપાંતરિત કરવામાં આવે છે અને પછી "==" ઉમેરવામાં આવે છે
- જો બે બાઇટ્સ બાકી હોય, તો તેમને ત્રણ Base64 અક્ષરોમાં રૂપાંતરિત કરવામાં આવે છે અને પછી "=" ઉમેરવામાં આવે છે
ઉદાહરણ
ચાલો "Hello" ટેક્સ્ટને Base64 માં એન્કોડ કરીએ:
- "Hello" નું ASCII પ્રતિનિધિત્વ: 72 101 108 108 111
- બાઈનરી પ્રતિનિધિત્વ: 01001000 01100101 01101100 01101100 01101111
- 6-બિટના સમૂહોમાં જૂથબદ્ધ કરવું: 010010 000110 010101 101100 011011 000110 1111
- છેલ્લી સમૂહમાં માત્ર 4 બિટ છે, તેથી અમે ઝીરો સાથે પેડિંગ કરીએ છીએ: 010010 000110 010101 101100 011011 000110 111100
- દશમલવમાં રૂપાંતરિત કરવું: 18, 6, 21, 44, 27, 6, 60
- Base64 અક્ષરમાળામાં શોધી રહ્યા છે: S, G, V, s, b, G, 8
- પરિણામ "SGVsbG8=" છે
છેલ્લે "=" પેડિંગ છે કારણ કે ઇનપુટની લંબાઈ (5 બાઇટ્સ) 3 દ્વારા વિભાજ્ય નથી.
ફોર્મ્યુલા
Base64 એન્કોડેડ સ્ટ્રિંગની લંબાઈની ગણતરી માટે સામાન્ય ફોર્મ્યુલા છે:
જ્યાં છત ફંક્શન (સૌથી નજીકના પૂર્ણાંકમાં ઉપરની તરફ રાઉન્ડિંગ) દર્શાવે છે.
Base64 એન્કોડર/ડિકોડર ટૂલનો ઉપયોગ કરવો
અમારું Base64 ટૂલ ટેક્સ્ટને Base64 માં એન્કોડ કરવા અથવા Base64 ને ટેક્સ્ટમાં પાછું ડિકોડ કરવા માટે સરળ અને અસરકારક રીત પ્રદાન કરે છે. તેનો ઉપયોગ કેવી રીતે કરવો તે અહીં છે:
મૂળભૂત ઉપયોગ
- ઓપરેશન મોડ પસંદ કરો: ટેક્સ્ટને Base64 માં રૂપાંતરિત કરવા માટે "એન્કોડ" પસંદ કરો, અથવા Base64 ને ટેક્સ્ટમાં પાછું રૂપાંતરિત કરવા માટે "ડિકોડ" પસંદ કરો.
- તમારો ઇનપુટ દાખલ કરો: ઇનપુટ ફીલ્ડમાં તમારો ટેક્સ્ટ અથવા Base64 સ્ટ્રિંગ ટાઈપ કરો અથવા પેસ્ટ કરો.
- રૂપાંતરિત કરો: "Base64 માં એન્કોડ કરો" અથવા "Base64 માંથી ડિકોડ કરો" બટન પર ક્લિક કરીને રૂપાંતરણ કરો.
- પરિણામની નકલ કરો: પરિણામને તમારા ક્લિપબોર્ડમાં નકલ કરવા માટે "નકલ" બટનનો ઉપયોગ કરો.
જીવંત રૂપાંતરણ ફીચર
અમારું ટૂલ હવે જીવંત રૂપાંતરણ વિકલ્પને સમાવેશ કરે છે જે તમે ટાઈપ કરતા જ આઉટપુટને અપડેટ કરે છે:
- જીવંત રૂપાંતરણ સક્રિય કરો: ટૂલના ટોપ પર "જીવંત રૂપાંતરણ" ચેકબોક્સને ચેક કરો.
- તુરંત પરિણામ જુઓ: જ્યારે તમે ઇનપુટ ફીલ્ડમાં ટાઈપ કરો છો, ત્યારે આઉટપુટ આપોઆપ અપડેટ થશે, રૂપાંતરણ બટન પર ક્લિક કરવાની જરૂર વિના.
- જરૂર મુજબ ટોગલ કરો: તમે તમારા પ્રિય અનુસાર કોઈપણ સમયે જીવંત રૂપાંતરણ સક્રિય અથવા નિષ્ક્રિય કરી શકો છો.
જીવંત રૂપાંતરણ ફીચર ખાસ કરીને ઉપયોગી છે જ્યારે:
- ટૂંકા અથવા મધ્યમ-લંબાઈના ટેક્સ્ટ અથવા Base64 સ્ટ્રિંગ્સ સાથે કાર્ય કરવું
- ધીમે ધીમે ફેરફાર કરી રહ્યા છે અને તુરંત પ્રતિસાદની જરૂર છે
- જુદા જુદા અક્ષરો કેવી રીતે એન્કોડેડ/ડિકોડેડ થાય છે તે શોધી રહ્યા છે
- Base64 એન્કોડિંગ પેટર્ન વિશે શીખવું
ખૂબ મોટા ઇનપુટ્સ માટે, ટૂલ કામગીરી જાળવવા માટે ડેબાઉન્સિંગનો ઉપયોગ કરે છે, જે સુનિશ્ચિત કરે છે કે રૂપાંતરણ માત્ર ત્યારે થાય છે જ્યારે તમે ટાઈપિંગ થોડીવાર રોકી શકો, દરેક કીસ્ટ્રોક પર નહીં.
ઉપયોગના કેસ
Base64 એન્કોડિંગ વિવિધ એપ્લિકેશન્સમાં વ્યાપકપણે ઉપયોગમાં લેવાય છે:
-
ઇમેલ એટેચમેન્ટ્સ: MIME (મલ્ટીપર્પઝ ઇન્ટરનેટ મેઇલ એક્સ્ટેંશન્સ) ઇમેલમાં બાઈનરી એટેચમેન્ટ્સને એન્કોડ કરવા માટે Base64 નો ઉપયોગ કરે છે.
-
ડેટા URL: HTML, CSS, અથવા JavaScript માં સીધા નાના છબીઓ, ફૉન્ટ અથવા અન્ય સંસાધનોને એમ્બેડ કરવું
data:
URL સ્કીમનો ઉપયોગ કરીને. -
API સંચાર: JSON પેલોડ્સ અથવા અન્ય ટેક્સ્ટ આધારિત API ફોર્મેટ્સમાં બાઈનરી ડેટાને સલામત રીતે મોકલવું.
-
ટેક્સ્ટ ફોર્મેટમાં બાઈનરી ડેટા સંગ્રહિત કરવું: જ્યારે બાઈનરી ડેટાને XML, JSON, અથવા અન્ય ટેક્સ્ટ આધારિત ફોર્મેટમાં સંગ્રહિત કરવાની જરૂર હોય.
-
પ્રમાણીકરણ સિસ્ટમો: HTTPમાં બેઝિક પ્રમાણીકરણ Base64 એન્કોડિંગનો ઉપયોગ કરે છે (જોકે તે સુરક્ષાના માટે નથી, ફક્ત એન્કોડિંગ માટે).
-
ક્રિપ્ટોગ્રાફી: વિવિધ ક્રિપ્ટોગ્રાફિક પ્રોટોકોલ્સ અને સિસ્ટમોમાં, ઘણી વખત કી અથવા પ્રમાણપત્રો એન્કોડ કરવા માટે.
-
કૂકી મૂલ્યો: કૂકીમાં સંગ્રહિત કરવામાં આવતી જટિલ ડેટા રચનાઓને એન્કોડ કરવું.
વિકલ્પો
જ્યારે Base64 વ્યાપકપણે ઉપયોગમાં લેવાય છે, ત્યારે કેટલાક પરિસ્થિતિઓમાં વધુ યોગ્ય વિકલ્પો હોઈ શકે છે:
-
URL-સલામત Base64: એક વૈવિધ્ય જે "+" અને "/" ને "-" અને "_" થી બદલે છે જેથી URL એન્કોડિંગની સમસ્યાઓ ટાળી શકાય. URL માં સમાવિષ્ટ ડેટા માટે ઉપયોગી.
-
Base32: 32-અક્ષર સેટનો ઉપયોગ કરે છે, જે વધુ લાંબા આઉટપુટનું પરિણામ આપે છે પરંતુ વધુ સારી માનવ વાંચનક્ષમતા અને કેસ અસંવેદનશીલતા ધરાવે છે.
-
હેક્સ એન્કોડિંગ: હેક્સાડેસિમલમાં સરળ રૂપાંતરણ, જે ઓછું કાર્યક્ષમ છે (આકારને દોવલ કરે છે) પરંતુ ખૂબ જ સરળ અને વ્યાપક રીતે સમર્થિત છે.
-
બાઈનરી ટ્રાન્સફર: મોટા ફાઇલો માટે અથવા જ્યારે કાર્યક્ષમતા મહત્વપૂર્ણ હોય, ત્યારે સીધો બાઈનરી ટ્રાન્સફર પ્રોટોકોલ્સ જેમ કે HTTP યોગ્ય સામગ્રી પ્રકારના હેડર્સ સાથે વધુ યોગ્ય છે.
-
કમ્પ્રેશન + Base64: મોટા ટેક્સ્ટ ડેટા માટે, એન્કોડિંગ પહેલાં સંકોચન કદની વધારાને ઘટાડવા માટે મદદરૂપ થઈ શકે છે.
-
JSON/XML સીરિયલાઇઝેશન: સંરચિત ડેટા માટે, Base64 એન્કોડિંગ કરતા મૂળભૂત JSON અથવા XML સીરિયલાઇઝેશન વધુ યોગ્ય હોઈ શકે છે.
ઇતિહાસ
Base64 એન્કોડિંગના મૂળ પ્રાચીન કમ્પ્યુટિંગ અને ટેલિકોમ્યુનિકેશન સિસ્ટમોમાં છે જ્યાં બાઈનરી ડેટાને ટેક્સ્ટ માટે ડિઝાઇન કરેલ ચેનલ દ્વારા મોકલવાની જરૂર હતી.
Base64 ની ઔપચારિક સ્પષ્ટીકરણ 1987 માં RFC 989 તરીકે પ્રથમ પ્રકાશિત કરવામાં આવી, જે પ્રાઇવસી એન્હાન્સ્ડ મેઇલ (PEM) ને વ્યાખ્યાયિત કરે છે. આ પછી RFC 1421 (1993) અને RFC 2045 (1996, MIME ના ભાગ તરીકે) માં અપડેટ કરવામાં આવ્યું.
"Base64" શબ્દનો ઉદ્ભવ એ છે કે એન્કોડિંગ 64 વિવિધ ASCII અક્ષરોનો ઉપયોગ કરે છે બાઈનરી ડેટાને રજૂ કરવા માટે. આ 64 અક્ષરોની પસંદગી જાગૃત હતી, કારણ કે 64 2 ના પાવર છે (2^6), જે બાઈનરી અને Base64 વચ્ચે રૂપાંતરણને કાર્યક્ષમ બનાવે છે.
સમય સાથે, Base64 ના અનેક વૈવિધ્યો ઊભા થયા છે:
- સ્ટાન્ડર્ડ Base64: RFC 4648 માં વ્યાખ્યાયિત, A-Z, a-z, 0-9, +, / અને = પેડિંગનો ઉપયોગ કરે છે
- URL-સલામત Base64: "+" અને "/" ને "-" અને "_" થી બદલે છે URL એન્કોડિંગની સમસ્યાઓ ટાળીવા માટે
- ફાઇલ નામ-સલામત Base64: URL-સલામત સમાન, ફાઇલ નામોમાં ઉપયોગ માટે ડિઝાઇન કરવામાં આવ્યું
- IMAP માટે બદલાયેલ Base64: IMAP પ્રોટોકોલમાં ઉપયોગમાં લેવાય છે જેમાં વિશેષ અક્ષરોના જુદા સેટનો ઉપયોગ થાય છે
ત્રણ દાયકાથી વધુ સમય પછી, Base64 આધુનિક કમ્પ્યુટિંગમાં એક મૂળભૂત સાધન તરીકે રહે છે, ખાસ કરીને વેબ એપ્લિકેશન્સ અને API ની ઉછાળ સાથે જે ટેક્સ્ટ આધારિત ડેટા ફોર્મેટ્સ જેમ કે JSON પર ખૂબ જ આધાર રાખે છે.
કોડ ઉદાહરણો
અહીં વિવિધ પ્રોગ્રામિંગ ભાષાઓમાં Base64 એન્કોડિંગ અને ડિકોડિંગના ઉદાહરણો છે:
1// જાવાસ્ક્રિપ્ટ Base64 એન્કોડિંગ/ડિકોડિંગ
2function encodeToBase64(text) {
3 return btoa(text);
4}
5
6function decodeFromBase64(base64String) {
7 try {
8 return atob(base64String);
9 } catch (e) {
10 throw new Error("અમાન્ય Base64 સ્ટ્રિંગ");
11 }
12}
13
14// ઉદાહરણ ઉપયોગ
15const originalText = "Hello, World!";
16const encoded = encodeToBase64(originalText);
17console.log("એન્કોડેડ:", encoded); // SGVsbG8sIFdvcmxkIQ==
18
19try {
20 const decoded = decodeFromBase64(encoded);
21 console.log("ડિકોડેડ:", decoded); // Hello, World!
22} catch (error) {
23 console.error(error.message);
24}
25
1# પાયથન Base64 એન્કોડિંગ/ડિકોડિંગ
2import base64
3
4def encode_to_base64(text):
5 # સ્ટ્રિંગને બાઇટ્સમાં રૂપાંતરિત કરો અને પછી એન્કોડ કરો
6 text_bytes = text.encode('utf-8')
7 base64_bytes = base64.b64encode(text_bytes)
8 return base64_bytes.decode('utf-8')
9
10def decode_from_base64(base64_string):
11 try:
12 # Base64 સ્ટ્રિંગને બાઇટ્સમાં રૂપાંતરિત કરો અને પછી ડિકોડ કરો
13 base64_bytes = base64_string.encode('utf-8')
14 text_bytes = base64.b64decode(base64_bytes)
15 return text_bytes.decode('utf-8')
16 except Exception as e:
17 raise ValueError(f"અમાન્ય Base64 સ્ટ્રિંગ: {e}")
18
19# ઉદાહરણ ઉપયોગ
20original_text = "Hello, World!"
21encoded = encode_to_base64(original_text)
22print(f"એન્કોડેડ: {encoded}") # SGVsbG8sIFdvcmxkIQ==
23
24try:
25 decoded = decode_from_base64(encoded)
26 print(f"ડિકોડેડ: {decoded}") # Hello, World!
27except ValueError as e:
28 print(e)
29
1// જાવા Base64 એન્કોડિંગ/ડિકોડિંગ
2import java.util.Base64;
3import java.nio.charset.StandardCharsets;
4
5public class Base64Example {
6 public static String encodeToBase64(String text) {
7 byte[] textBytes = text.getBytes(StandardCharsets.UTF_8);
8 byte[] encodedBytes = Base64.getEncoder().encode(textBytes);
9 return new String(encodedBytes, StandardCharsets.UTF_8);
10 }
11
12 public static String decodeFromBase64(String base64String) {
13 try {
14 byte[] base64Bytes = base64String.getBytes(StandardCharsets.UTF_8);
15 byte[] decodedBytes = Base64.getDecoder().decode(base64Bytes);
16 return new String(decodedBytes, StandardCharsets.UTF_8);
17 } catch (IllegalArgumentException e) {
18 throw new IllegalArgumentException("અમાન્ય Base64 સ્ટ્રિંગ: " + e.getMessage());
19 }
20 }
21
22 public static void main(String[] args) {
23 String originalText = "Hello, World!";
24 String encoded = encodeToBase64(originalText);
25 System.out.println("એન્કોડેડ: " + encoded); // SGVsbG8sIFdvcmxkIQ==
26
27 try {
28 String decoded = decodeFromBase64(encoded);
29 System.out.println("ડિકોડેડ: " + decoded); // Hello, World!
30 } catch (IllegalArgumentException e) {
31 System.err.println(e.getMessage());
32 }
33 }
34}
35
1<?php
2// PHP Base64 એન્કોડિંગ/ડિકોડિંગ
3function encodeToBase64($text) {
4 return base64_encode($text);
5}
6
7function decodeFromBase64($base64String) {
8 $decoded = base64_decode($base64String, true);
9 if ($decoded === false) {
10 throw new Exception("અમાન્ય Base64 સ્ટ્રિંગ");
11 }
12 return $decoded;
13}
14
15// ઉદાહરણ ઉપયોગ
16$originalText = "Hello, World!";
17$encoded = encodeToBase64($originalText);
18echo "એન્કોડેડ: " . $encoded . "\n"; // SGVsbG8sIFdvcmxkIQ==
19
20try {
21 $decoded = decodeFromBase64($encoded);
22 echo "ડિકોડેડ: " . $decoded . "\n"; // Hello, World!
23} catch (Exception $e) {
24 echo "ભૂલ: " . $e->getMessage() . "\n";
25}
26?>
27
1// C# Base64 એન્કોડિંગ/ડિકોડિંગ
2using System;
3using System.Text;
4
5class Base64Example
6{
7 public static string EncodeToBase64(string text)
8 {
9 byte[] textBytes = Encoding.UTF8.GetBytes(text);
10 return Convert.ToBase64String(textBytes);
11 }
12
13 public static string DecodeFromBase64(string base64String)
14 {
15 try
16 {
17 byte[] base64Bytes = Convert.FromBase64String(base64String);
18 return Encoding.UTF8.GetString(base64Bytes);
19 }
20 catch (FormatException)
21 {
22 throw new FormatException("અમાન્ય Base64 સ્ટ્રિંગ");
23 }
24 }
25
26 static void Main()
27 {
28 string originalText = "Hello, World!";
29 string encoded = EncodeToBase64(originalText);
30 Console.WriteLine($"એન્કોડેડ: {encoded}"); // SGVsbG8sIFdvcmxkIQ==
31
32 try
33 {
34 string decoded = DecodeFromBase64(encoded);
35 Console.WriteLine($"ડિકોડેડ: {decoded}"); // Hello, World!
36 }
37 catch (FormatException e)
38 {
39 Console.WriteLine($"ભૂલ: {e.Message}");
40 }
41 }
42}
43
1# રૂબી Base64 એન્કોડિંગ/ડિકોડિંગ
2require 'base64'
3
4def encode_to_base64(text)
5 Base64.strict_encode64(text)
6end
7
8def decode_from_base64(base64_string)
9 begin
10 Base64.strict_decode64(base64_string)
11 rescue ArgumentError => e
12 raise "અમાન્ય Base64 સ્ટ્રિંગ: #{e.message}"
13 end
14end
15
16# ઉદાહરણ ઉપયોગ
17original_text = "Hello, World!"
18encoded = encode_to_base64(original_text)
19puts "એન્કોડેડ: #{encoded}" # SGVsbG8sIFdvcmxkIQ==
20
21begin
22 decoded = decode_from_base64(encoded)
23 puts "ડિકોડેડ: #{decoded}" # Hello, World!
24rescue StandardError => e
25 puts "ભૂલ: #{e.message}"
26end
27
1// Go Base64 એન્કોડિંગ/ડિકોડિંગ
2package main
3
4import (
5 "encoding/base64"
6 "fmt"
7)
8
9func encodeToBase64(text string) string {
10 return base64.StdEncoding.EncodeToString([]byte(text))
11}
12
13func decodeFromBase64(base64_string string) (string, error) {
14 bytes, err := base64.StdEncoding.DecodeString(base64_string)
15 if err != nil {
16 return "", fmt.Errorf("અમાન્ય Base64 સ્ટ્રિંગ: %v", err)
17 }
18 return string(bytes), nil
19}
20
21func main() {
22 originalText := "Hello, World!"
23 encoded := encodeToBase64(originalText)
24 fmt.Println("એન્કોડેડ:", encoded) // SGVsbG8sIFdvcmxkIQ==
25
26 decoded, err := decodeFromBase64(encoded)
27 if err != nil {
28 fmt.Println("ભૂલ:", err)
29 } else {
30 fmt.Println("ડિકોડેડ:", decoded) // Hello, World!
31 }
32}
33
1// સ્વિફ્ટ Base64 એન્કોડિંગ/ડિકોડિંગ
2import Foundation
3
4func encodeToBase64(_ text: String) -> String? {
5 if let data = text.data(using: .utf8) {
6 return data.base64EncodedString()
7 }
8 return nil
9}
10
11func decodeFromBase64(_ base64String: String) -> String? {
12 if let data = Data(base64Encoded: base64String) {
13 return String(data: data, encoding: .utf8)
14 }
15 return nil
16}
17
18// ઉદાહરણ ઉપયોગ
19let originalText = "Hello, World!"
20if let encoded = encodeToBase64(originalText) {
21 print("એન્કોડેડ: \(encoded)") // SGVsbG8sIFdvcmxkIQ==
22
23 if let decoded = decodeFromBase64(encoded) {
24 print("ડિકોડેડ: \(decoded)") // Hello, World!
25 } else {
26 print("ભૂલ: Base64 સ્ટ્રિંગને ડિકોડ કરી શકતા નથી")
27 }
28} else {
29 print("ભૂલ: ટેક્સ્ટને એન્કોડ કરી શકતા નથી")
30}
31
1' એક્સેલ VBA Base64 એન્કોડિંગ/ડિકોડિંગ
2' નોંધ: આ માટે Microsoft XML, v6.0 ને સંદર્ભની જરૂર છે
3Function EncodeToBase64(text As String) As String
4 Dim xmlObj As Object
5 Set xmlObj = CreateObject("MSXML2.DOMDocument")
6
7 Dim xmlNode As Object
8 Set xmlNode = xmlObj.createElement("b64")
9
10 xmlNode.DataType = "bin.base64"
11 xmlNode.nodeTypedValue = StrConv(text, vbFromUnicode)
12
13 EncodeToBase64 = xmlNode.text
14
15 Set xmlNode = Nothing
16 Set xmlObj = Nothing
17End Function
18
19Function DecodeFromBase64(base64String As String) As String
20 On Error GoTo ErrorHandler
21
22 Dim xmlObj As Object
23 Set xmlObj = CreateObject("MSXML2.DOMDocument")
24
25 Dim xmlNode As Object
26 Set xmlNode = xmlObj.createElement("b64")
27
28 xmlNode.DataType = "bin.base64"
29 xmlNode.text = base64String
30
31 DecodeFromBase64 = StrConv(xmlNode.nodeTypedValue, vbUnicode)
32
33 Set xmlNode = Nothing
34 Set xmlObj = Nothing
35 Exit Function
36
37ErrorHandler:
38 DecodeFromBase64 = "ભૂલ: અમાન્ય Base64 સ્ટ્રિંગ"
39End Function
40
41' વર્કશીટમાં ઉપયોગ:
42' =EncodeToBase64("Hello, World!")
43' =DecodeFromBase64("SGVsbG8sIFdvcmxkIQ==")
44
1# R Base64 એન્કોડિંગ/ડિકોડિંગ
2# 'base64enc' પેકેજની જરૂર છે
3# install.packages("base64enc")
4library(base64enc)
5
6encode_to_base64 <- function(text) {
7 # ટેક્સ્ટને કાચા બાઇટ્સમાં રૂપાંતરિત કરો, પછી એન્કોડ કરો
8 text_raw <- charToRaw(text)
9 base64_encoded <- base64encode(text_raw)
10 return(rawToChar(base64_encoded))
11}
12
13decode_from_base64 <- function(base64_string) {
14 tryCatch({
15 # Base64 સ્ટ્રિંગને કાચા બાઇટ્સમાં રૂપાંતરિત કરો, પછી ડિકોડ કરો
16 base64_raw <- charToRaw(base64_string)
17 decoded_raw <- base64decode(base64_raw)
18 return(rawToChar(decoded_raw))
19 }, error = function(e) {
20 stop(paste("અમાન્ય Base64 સ્ટ્રિંગ:", e$message))
21 })
22}
23
24# ઉદાહરણ ઉપયોગ
25original_text <- "Hello, World!"
26encoded <- encode_to_base64(original_text)
27cat("એન્કોડેડ:", encoded, "\n") # SGVsbG8sIFdvcmxkIQ==
28
29tryCatch({
30 decoded <- decode_from_base64(encoded)
31 cat("ડિકોડેડ:", decoded, "\n") # Hello, World!
32}, error = function(e) {
33 cat("ભૂલ:", e$message, "\n")
34})
35
1% MATLAB Base64 એન્કોડિંગ/ડિકોડિંગ
2function demo_base64()
3 originalText = 'Hello, World!';
4
5 % એન્કોડ
6 encoded = encode_to_base64(originalText);
7 fprintf('એન્કોડેડ: %s\n', encoded); % SGVsbG8sIFdvcmxkIQ==
8
9 % ડિકોડ
10 try
11 decoded = decode_from_base64(encoded);
12 fprintf('ડિકોડેડ: %s\n', decoded); % Hello, World!
13 catch e
14 fprintf('ભૂલ: %s\n', e.message);
15 end
16end
17
18function encoded = encode_to_base64(text)
19 % ટેક્સ્ટને uint8 એરીમાં રૂપાંતરિત કરો અને એન્કોડ કરો
20 bytes = uint8(text);
21 encoded = base64encode(bytes);
22end
23
24function decoded = decode_from_base64(base64String)
25 try
26 % Base64 સ્ટ્રિંગને uint8 એરીમાં ડિકોડ કરો
27 bytes = base64decode(base64String);
28 decoded = char(bytes);
29 catch
30 error('અમાન્ય Base64 સ્ટ્રિંગ');
31 end
32end
33
1// C Base64 એન્કોડિંગ/ડિકોડિંગ OpenSSL નો ઉપયોગ કરીને
2#include <stdio.h>
3#include <string.h>
4#include <openssl/bio.h>
5#include <openssl/evp.h>
6#include <openssl/buffer.h>
7#include <stdint.h>
8
9char* encode_to_base64(const char* input) {
10 BIO *bio, *b64;
11 BUF_MEM *bufferPtr;
12
13 b64 = BIO_new(BIO_f_base64());
14 bio = BIO_new(BIO_s_mem());
15 bio = BIO_push(b64, bio);
16
17 BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
18 BIO_write(bio, input, strlen(input));
19 BIO_flush(bio);
20 BIO_get_mem_ptr(bio, &bufferPtr);
21
22 char* result = (char*)malloc(bufferPtr->length + 1);
23 memcpy(result, bufferPtr->data, bufferPtr->length);
24 result[bufferPtr->length] = '\0';
25
26 BIO_free_all(bio);
27
28 return result;
29}
30
31char* decode_from_base64(const char* input) {
32 BIO *bio, *b64;
33 size_t length = strlen(input);
34 char* buffer = (char*)malloc(length);
35
36 b64 = BIO_new(BIO_f_base64());
37 bio = BIO_new_mem_buf(input, -1);
38 bio = BIO_push(b64, bio);
39
40 BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL);
41 int decoded_length = BIO_read(bio, buffer, length);
42
43 if (decoded_length <= 0) {
44 free(buffer);
45 BIO_free_all(bio);
46 return NULL; // અમાન્ય Base64 ઇનપુટ
47 }
48
49 buffer[decoded_length] = '\0';
50
51 BIO_free_all(bio);
52
53 return buffer;
54}
55
56int main() {
57 const char* original_text = "Hello, World!";
58
59 char* encoded = encode_to_base64(original_text);
60 printf("એન્કોડેડ: %s\n", encoded); // SGVsbG8sIFdvcmxkIQ==
61
62 char* decoded = decode_from_base64(encoded);
63 if (decoded) {
64 printf("ડિકોડેડ: %s\n", decoded); // Hello, World!
65 free(decoded);
66 } else {
67 printf("ભૂલ: અમાન્ય Base64 સ્ટ્રિંગ\n");
68 }
69
70 free(encoded);
71
72 return 0;
73}
74
1// Rust Base64 એન્કોડિંગ/ડિકોડિંગ
2use base64::{encode, decode};
3use std::str;
4
5fn encode_to_base64(text: &str) -> String {
6 encode(text)
7}
8
9fn decode_from_base64(base64_string: &str) -> Result<String, String> {
10 match decode(base64_string) {
11 Ok(bytes) => {
12 match str::from_utf8(&bytes) {
13 Ok(text) => Ok(text.to_string()),
14 Err(e) => Err(format!("અમાન્ય UTF-8 અનુક્રમ: {}", e))
15 }
16 },
17 Err(e) => Err(format!("અમાન્ય Base64 સ્ટ્રિંગ: {}", e))
18 }
19}
20
21fn main() {
22 let original_text = "Hello, World!";
23 let encoded = encode_to_base64(original_text);
24 println!("એન્કોડેડ: {}", encoded); // SGVsbG8sIFdvcmxkIQ==
25
26 match decode_from_base64(&encoded) {
27 Ok(decoded) => println!("ડિકોડેડ: {}", decoded), // Hello, World!
28 Err(e) => println!("ભૂલ: {}", e)
29 }
30}
31
જાવાસ્ક્રિપ્ટ અમલ જીવંત રૂપાંતરણ સાથે
જ્યાં તમે જીવંત રૂપાંતરણ ફીચર કેવી રીતે અમલમાં મૂકી શકો છો તે અહીં એક ઉદાહરણ છે:
1// જાવાસ્ક્રિપ્ટ અમલ જીવંત રૂપાંતરણ સાથે
2const textInput = document.getElementById('text-input');
3const base64Output = document.getElementById('base64-output');
4const liveConversionCheckbox = document.getElementById('live-conversion');
5let debounceTimeout = null;
6
7// કાર્ય જે ડેબાઉન્સિંગ સાથે એન્કોડ કરે છે
8function liveEncode() {
9 // કોઈપણ અસ્તિત્વમાં ટાઈમઆઉટને સાફ કરો
10 if (debounceTimeout) {
11 clearTimeout(debounceTimeout);
12 }
13
14 // ઝડપી ટાઈપિંગ દરમિયાન વધુ પ્રક્રિયાને ટાળવા માટે એક નવો ટાઈમઆઉટ સેટ કરો
15 debounceTimeout = setTimeout(() => {
16 try {
17 const text = textInput.value;
18 if (text.trim()) {
19 base64Output.value = btoa(text);
20 } else {
21 base64Output.value = '';
22 }
23 } catch (e) {
24 console.error('એન્કોડિંગ ભૂલ:', e);
25 // UI માં યોગ્ય રીતે ભૂલને સંભાળવા
26 }
27 }, 300); // 300ms ડેબાઉન્સ વિલંબ
28}
29
30// ઇવેન્ટ શ્રેણીઓ
31liveConversionCheckbox.addEventListener('change', function() {
32 if (this.checked) {
33 // જીવંત રૂપાંતરણ સક્રિય કરો
34 textInput.addEventListener('input', liveEncode);
35 // પ્રારંભિક એન્કોડ
36 liveEncode();
37 } else {
38 // જીવંત રૂપાંતરણ નિષ્ક્રિય કરો
39 textInput.removeEventListener('input', liveEncode);
40 }
41});
42
કિનારા કેસ અને વિચારણા
Base64 એન્કોડિંગ અને ડિકોડિંગ સાથે કાર્ય કરતી વખતે આ મહત્વપૂર્ણ વિચારણાઓને ધ્યાનમાં રાખો:
-
યૂનિકોડ અને નોન-ASCII અક્ષરો: જ્યારે નોન-ASCII અક્ષરોવાળા ટેક્સ્ટને એન્કોડ કરો, ત્યારે Base64 એન્કોડિંગ કરતા પહેલા યોગ્ય અક્ષર એન્કોડિંગ (સામાન્ય રીતે UTF-8) સુનિશ્ચિત કરો.
-
પેડિંગ: સ્ટાન્ડર્ડ Base64 "=" અક્ષરો સાથે પેડિંગનો ઉપયોગ કરે છે જેથી આઉટપુટની લંબાઈ 4 ના ગુણાંકમાં હોય. કેટલાક અમલ પેડિંગને છોડી દેવાની મંજૂરી આપે છે, જે સુસંગતતા સમસ્યાઓને કારણે બની શકે છે.
-
લાઇન બ્રેક: પરંપરાગત Base64 અમલ વાંચનક્ષમતા માટે લાઇન બ્રેક (સામાન્ય રીતે દરેક 76 અક્ષરો) દાખલ કરે છે, પરંતુ આધુનિક એપ્લિકેશન્સ ઘણીવાર આને છોડી દે છે.
-
URL-સલામત Base64: સ્ટાન્ડર્ડ Base64 "+" અને "/" અક્ષરોનો ઉપયોગ કરે છે જે URLs માં વિશેષ અર્થ ધરાવે છે. URL સંદર્ભોમાં, URL-સલામત Base64 નો ઉપયોગ કરો જે આને "-" અને "_" થી બદલે છે.
-
ખાલી જગ્યા: ડિકોડિંગ કરતી વખતે, કેટલાક અમલ લચીલા હોય છે અને ખાલી જગ્યાને અવગણતા હોય છે, જ્યારે અન્ય ચોક્કસ ઇનપુટની જરૂર હોય છે.
-
આકાર વધારવો: Base64 એન્કોડિંગ ડેટાના કદને લગભગ 33% થી વધારશે (3 ઇનપુટ બાઇટ્સ માટે 4 આઉટપુટ બાઇટ્સ).
-
કાર્યક્ષમતા: Base64 એન્કોડિંગ/ડિકોડિંગ ખૂબ મોટા ડેટા માટે ગણનાત્મક રીતે ભારે હોઈ શકે છે. અમારા ટૂલ ડેબાઉન્સિંગનો ઉપયોગ કરે છે જેથી વધુ ઇનપુટ્સ સાથે સારી કામગીરી જાળવવામાં મદદ મળે.
-
જીવંત રૂપાંતરણ વિચારણાઓ: જ્યારે તમે ડિકોડ મોડમાં જીવંત રૂપાંતરણ ફીચર સાથે અમાન્ય Base64 અક્ષરો દાખલ કરો છો, ત્યારે ટૂલ તુરંત ભૂલ સંદેશા દર્શાવશે, જે તમને તુરંત સમસ્યાને ઓળખવામાં અને સુધારવામાં મદદ કરશે.
વારંવાર પૂછાતા પ્રશ્નો
જીવંત રૂપાંતરણ ફીચર શું છે?
જીવંત રૂપાંતરણ ફીચર ટાઈપ કરતા જ આઉટપુટને આપોઆપ અપડેટ કરે છે, રૂપાંતરણ બટન પર ક્લિક કરવાની જરૂર વિના. આ તુરંત પ્રતિસાદ પ્રદાન કરે છે અને ટૂલને વધુ ઇન્ટરેક્ટિવ અને કાર્યક્ષમ બનાવે છે.
શું જીવંત રૂપાંતરણ મોટા ઇનપુટ્સ સાથે મારા બ્રાઉઝરને ધીમું કરશે?
અમારી અમલનિષ્ઠા ડેબાઉન્સિંગનો ઉપયોગ કરે છે જેથી ખૂબ મોટા ઇનપુટ્સ સાથે પણ સારી કામગીરી જાળવવામાં આવે. રૂપાંતરણ માત્ર ત્યારે થાય છે જ્યારે તમે ટાઈપિંગ થોડીવાર રોકી શકો, દરેક કીસ્ટ્રોક પર નહીં.
હું જીવંત રૂપાંતરણનો ઉપયોગ ક્યારે કરું અને મેન્યુઅલ રૂપાંતરણ ક્યારે કરું?
જીવંત રૂપાંતરણ તે ઇન્ટરેક્ટિવ કાર્ય માટે ઉત્તમ છે જ્યાં તમે તુરંત પ્રતિસાદની જરૂર હોય. ખૂબ મોટા ડેટા સેટ્સ માટે અથવા જ્યારે તમે રૂપાંતરણ પહેલાં તમારા ઇનપુટની સમીક્ષા કરવા માંગો છો, ત્યારે તમે મેન્યુઅલ રૂપાંતરણ વિકલ્પ પસંદ કરી શકો છો.
શું જીવંત રૂપાંતરણ એન્કોડિંગ અને ડિકોડિંગ બંને માટે કાર્ય કરે છે?
હા, જીવંત રૂપાંતરણ ફીચર બંને દિશાઓમાં કાર્ય કરે છે - ટેક્સ્ટથી Base64 અને Base64 થી ટેક્સ્ટ.
જો હું જીવંત રૂપાંતરણ સક્રિય કરેલ હોવા છતાં અમાન્ય Base64 દાખલ કરું તો શું થાય?
જો તમે ડિકોડ મોડમાં જીવંત રૂપાંતરણ સક્રિય કરેલ હોવા છતાં અમાન્ય Base64 અક્ષરો દાખલ કરો છો, તો ટૂલ તુરંત ભૂલ સંદેશા દર્શાવશે, જે તમને તુરંત સમસ્યાને ઓળખવામાં અને સુધારવામાં મદદ કરશે.
સંદર્ભ
- RFC 4648 - The Base16, Base32, and Base64 Data Encodings
- RFC 2045 - MIME Part One: Format of Internet Message Bodies
- MDN વેબ ડોક્સ: Base64 એન્કોડિંગ અને ડિકોડિંગ
- Base64 - વિકીપીડિયા
- MIME - વિકીપીડિયા
આજે અમારા Base64 એન્કોડર/ડિકોડર ટૂલનો પ્રયાસ કરો જેથી તમે ટેક્સ્ટ અને Base64 ફોર્મેટ્સ વચ્ચે ઝડપથી રૂપાંતરિત કરી શકો. હવે જીવંત રૂપાંતરણની સુવિધા છે જે તમે ટાઈપ કરતા જ અપડેટ થાય છે, જે વધુ કાર્યક્ષમતા માટે છે. તમે વિકાસકર્તા છો જે APIs સાથે કાર્ય કરી રહ્યા છે, ઈમેલ એટેચમેન્ટ્સને સંભાળતા હોય, અથવા ટેક્સ્ટ ફોર્મેટમાં બાઈનરી ડેટાને એમ્બેડ કરતા હોય, અમારા ટૂલને પ્રક્રિયાને સરળ અને કાર્યક્ષમ બનાવે છે.
સંબંધિત સાધનો
તમારા વર્કફ્લો માટે ઉપયોગી થવાના વધુ સાધનો શોધો