बेस64 एन्कोडर आणि डिकोडर: मजकूर बेस64 मध्ये/पासून रूपांतरित करा
मजकूर बेस64 मध्ये एन्कोड करण्यासाठी किंवा बेस64 स्ट्रिंग्ज परत मजकूरात डिकोड करण्यासाठी मोफत ऑनलाइन साधन. त्वरित रूपांतरणासह मानक आणि यूआरएल-सुरक्षित बेस64 एन्कोडिंगला समर्थन.
बेस64 एन्कोडर/डिकोडर
साहित्यिकरण
बेस64 एन्कोडर आणि डिकोडर
परिचय
बेस64 एक बायनरी-टू-टेक्स्ट एन्कोडिंग योजना आहे जी बायनरी डेटाला ASCII स्ट्रिंग स्वरूपात दर्शवते. हे बायनरी स्वरूपात संग्रहित डेटा टेक्स्ट सामग्रीवर विश्वासाने पाठविण्यासाठी डिझाइन केले आहे. बेस64 एन्कोडिंग बायनरी डेटाला 64 वर्णांच्या सेटमध्ये रूपांतरित करते (त्यामुळे नाव) जे टेक्स्ट-आधारित प्रोटोकॉलद्वारे सुरक्षितपणे प्रसारित केले जाऊ शकते.
बेस64 वर्ण संचामध्ये समाविष्ट आहे:
- मोठ्या अक्षरे A-Z (26 वर्ण)
- लहान अक्षरे a-z (26 वर्ण)
- अंक 0-9 (10 वर्ण)
- दोन अतिरिक्त वर्ण, सामान्यतः "+" आणि "/" (2 वर्ण)
हे साधन तुम्हाला टेक्स्टला बेस64 स्वरूपात सहजपणे एन्कोड किंवा बेस64 स्ट्रिंग्सना त्यांच्या मूळ टेक्स्टमध्ये डिकोड करण्याची परवानगी देते. हे विशेषतः विकासक, IT व्यावसायिक आणि कोणत्याही व्यक्तीसाठी उपयुक्त आहे जो डेटा सुरक्षितपणे टेक्स्ट-आधारित चॅनेलवर प्रसारित करणे आवश्यक आहे. आमच्या रिअल-टाइम रूपांतरण वैशिष्ट्यासह, तुम्ही टाइप करताना त्वरित परिणाम पाहू शकता, ज्यामुळे तुमचा एन्कोडिंग आणि डिकोडिंग कार्यप्रवाह अधिक कार्यक्षम बनतो.
बेस64 एन्कोडिंग कसे कार्य करते
एन्कोडिंग प्रक्रिया
बेस64 एन्कोडिंग प्रत्येक तीन बाइट (24 बिट) बायनरी डेटाच्या गटाला चार बेस64 वर्णांमध्ये रूपांतरित करून कार्य करते. प्रक्रिया खालील चरणांचे पालन करते:
- इनपुट टेक्स्टला त्याच्या बायनरी प्रतिनिधित्वात रूपांतरित करा (ASCII किंवा UTF-8 एन्कोडिंगचा वापर करून)
- बायनरी डेटाला 24 बिटच्या गटांमध्ये गटबद्ध करा (3 बाइट)
- प्रत्येक 24-बिट गटाला चार 6-बिट गटांमध्ये विभाजित करा
- प्रत्येक 6-बिट गटाला त्याच्या संबंधित बेस64 वर्णात रूपांतरित करा
जेव्हा इनपुट लांबी 3 ने विभाज्य नसते, तेव्हा 4:3 आउटपुट ते इनपुट लांबीच्या प्रमाणात ठेवण्यासाठी "=" वर्णांसह पॅडिंग जोडले जाते.
गणितीय प्रतिनिधित्व
बाइट्सच्या अनुक्रमासाठी , संबंधित बेस64 वर्ण खालीलप्रमाणे गणना केली जाते:
जिथे बेस64 वर्णमाला मध्ये -व्या वर्णाचे प्रतिनिधित्व करते.
डिकोडिंग प्रक्रिया
बेस64 डिकोडिंग एन्कोडिंग प्रक्रियेला उलट करते:
- प्रत्येक बेस64 वर्णाला त्याच्या 6-बिट मूल्यामध्ये रूपांतरित करा
- या 6-बिट मूल्यांना एकत्रित करा
- बिट्सना 8-बिट गटांमध्ये (बाइट्स) गटबद्ध करा
- प्रत्येक बाइटला त्याच्या संबंधित वर्णात रूपांतरित करा
पॅडिंग
जेव्हा एन्कोड करण्यासाठी बाइट्सची संख्या 3 ने विभाज्य नसते, तेव्हा पॅडिंग लागू केले जाते:
- जर एक बाइट उरला असेल, तर ते दोन बेस64 वर्णांमध्ये रूपांतरित केले जाते आणि "==" सह समाप्त होते
- जर दोन बाइट्स उरले असतील, तर त्यांना तीन बेस64 वर्णांमध्ये रूपांतरित केले जाते आणि "=" सह समाप्त होते
उदाहरण
"Hello" टेक्स्टला बेस64 मध्ये एन्कोड करूया:
- "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
- बेस64 वर्णमालेत शोधणे: S, G, V, s, b, G, 8
- परिणाम "SGVsbG8=" आहे
शेवटी "=" पॅडिंग लक्षात ठेवा कारण इनपुट लांबी (5 बाइट्स) 3 ने विभाज्य नाही.
सूत्र
बेस64 एन्कोडेड स्ट्रिंगची लांबी गणना करण्याचे सामान्य सूत्र आहे:
जिथे छत कार्य (जवळच्या पूर्णांकात वरच्या दिशेने गोल करणे) दर्शवते.
बेस64 एन्कोडर/डिकोडर साधनाचा वापर
आमचे बेस64 साधन टेक्स्टला बेस64 मध्ये एन्कोड करण्याची किंवा बेस64 पुन्हा टेक्स्टमध्ये डिकोड करण्याची एक साधी आणि कार्यक्षम पद्धत प्रदान करते. याचा वापर कसा करावा हे येथे आहे:
मूलभूत वापर
- ऑपरेशन मोड निवडा: टेक्स्टला बेस64 मध्ये रूपांतरित करण्यासाठी "एन्कोड" निवडा, किंवा बेस64 पुन्हा टेक्स्टमध्ये रूपांतरित करण्यासाठी "डिकोड" निवडा.
- तुमचा इनपुट प्रविष्ट करा: इनपुट फील्डमध्ये तुमचा टेक्स्ट किंवा बेस64 स्ट्रिंग टाइप करा किंवा पेस्ट करा.
- रूपांतरित करा: रूपांतरण करण्यासाठी "बेस64 मध्ये एन्कोड करा" किंवा "बेस64 मधून डिकोड करा" बटणावर क्लिक करा.
- परिणाम कॉपी करा: परिणाम आपल्या क्लिपबोर्डवर कॉपी करण्यासाठी "कॉपी" बटणाचा वापर करा.
लाइव्ह रूपांतरण वैशिष्ट्य
आमच्या साधनात आता एक रिअल-टाइम रूपांतरण पर्याय समाविष्ट आहे जो तुम्ही टाइप करताना आउटपुट अपडेट करतो:
- लाइव्ह रूपांतरण सक्षम करा: साधनाच्या शीर्षकावर "लाइव्ह रूपांतरण" चेकबॉक्स तपासा.
- तत्काळ परिणाम पहा: तुम्ही इनपुट फील्डमध्ये टाइप करताना आउटपुट स्वयंचलितपणे अपडेट होईल, रूपांतरण बटणावर क्लिक करण्याची आवश्यकता नाही.
- आवश्यकतेनुसार टॉगल करा: तुम्ही तुमच्या आवडीनुसार कधीही लाइव्ह रूपांतरण सक्षम किंवा अक्षम करू शकता.
लाइव्ह रूपांतरण वैशिष्ट्य विशेषतः उपयुक्त आहे जेव्हा:
- लघु ते मध्यम लांबीच्या टेक्स्ट किंवा बेस64 स्ट्रिंग्ससह कार्य करणे
- हळूहळू बदल करताना त्वरित फीडबॅक आवश्यक असणे
- विविध वर्ण कसे एन्कोडेड/डिकोडेड केले जातात ते एक्सप्लोर करणे
- बेस64 एन्कोडिंग पॅटर्नबद्दल शिकणे
अतिशय मोठ्या इनपुटसाठी, साधन कार्यक्षमतेसाठी डेबाउन्सिंगचा वापर करते, सुनिश्चित करते की रूपांतरण फक्त तुम्ही टायपिंग थांबवल्यावर थोड्या वेळाने होते, प्रत्येक कीस्ट्रोकवर नाही.
वापराच्या प्रकरणे
बेस64 एन्कोडिंग विविध अनुप्रयोगांमध्ये मोठ्या प्रमाणावर वापरले जाते:
-
ईमेल अटॅचमेंट्स: MIME (मल्टीपर्पज इंटरनेट मेल एक्सटेंशन्स) ईमेलमध्ये बायनरी अटॅचमेंट्स एन्कोड करण्यासाठी बेस64 वापरतो.
-
डेटा URLs: HTML, CSS, किंवा JavaScript मध्ये थोडेसे चित्रे, फॉन्ट्स, किंवा इतर संसाधने थेट समाविष्ट करणे
data:
URL स्कीमचा वापर करून. -
API कम्युनिकेशन्स: JSON पेलोड्स किंवा इतर टेक्स्ट-आधारित API स्वरूपांमध्ये बायनरी डेटा सुरक्षितपणे प्रसारित करणे.
-
टेक्स्ट स्वरूपांमध्ये बायनरी डेटा संग्रहित करणे: जेव्हा बायनरी डेटा XML, JSON, किंवा इतर टेक्स्ट-आधारित स्वरूपांमध्ये संग्रहित करणे आवश्यक असते.
-
प्रमाणपत्र प्रणाली: HTTP मध्ये बेसिक प्रमाणीकरण बेस64 एन्कोडिंगचा वापर करते (तथापि हे सुरक्षा साठी नाही, फक्त एन्कोडिंगसाठी).
-
क्रिप्टोग्राफी: विविध क्रिप्टोग्राफिक प्रोटोकॉल आणि प्रणालींचा भाग म्हणून, सहसा की किंवा प्रमाणपत्रे एन्कोड करण्यासाठी.
-
कुकी मूल्ये: कुकीजमध्ये संग्रहित करण्यासाठी जटिल डेटा संरचनांचे एन्कोडिंग.
पर्याय
जरी बेस64 मोठ्या प्रमाणावर वापरले जाते, तरी काही परिस्थितींमध्ये अधिक योग्य पर्याय असू शकतात:
-
URL-सुरक्षित बेस64: एक प्रकार जो "+" आणि "/" च्या जागी "-" आणि "_" वापरतो जेणेकरून URL एन्कोडिंग समस्यांपासून टाळता येईल. URL मध्ये समाविष्ट होणाऱ्या डेटासाठी उपयुक्त.
-
बेस32: 32 वर्ण सेट वापरतो, ज्यामुळे लांब आउटपुट होते पण मानव वाचनक्षमतेत आणि केस संवेदनशीलतेत सुधारणा होते.
-
हेक्स एन्कोडिंग: हेक्साडेसिमलमध्ये साधे रूपांतर, जे कमी कार्यक्षम (आकार दुप्पट करतो) पण खूप साधे आणि व्यापकपणे समर्थित आहे.
-
बायनरी ट्रान्सफर: मोठ्या फाइल्ससाठी किंवा जेव्हा कार्यक्षमता महत्त्वाची असते, थेट बायनरी ट्रान्सफर प्रोटोकॉल जसे HTTP योग्य सामग्री-प्रकार हेडरांसह प्राधान्य दिले जाते.
-
संपीडन + बेस64: मोठ्या टेक्स्ट डेटासाठी, एन्कोडिंग करण्यापूर्वी संपीडन करणे आकार वाढ कमी करू शकते.
-
JSON/XML सिरीयलायझेशन: संरचित डेटासाठी, बेस64 एन्कोडिंगच्या तुलनेत मूळ JSON किंवा XML सिरीयलायझेशन अधिक योग्य असू शकते.
इतिहास
बेस64 एन्कोडिंगचा उगम प्रारंभिक संगणक आणि दूरसंचार प्रणालींमध्ये झाला जिथे बायनरी डेटाला टेक्स्टसाठी डिझाइन केलेल्या चॅनेलवर प्रसारित करणे आवश्यक होते.
बेस64 चा औपचारिक तपशील 1987 मध्ये RFC 989 म्हणून प्रकाशित झाला, ज्याने प्रायव्हसी एन्हान्स्ड मेल (PEM) चा परिभाषा दिला. हे नंतर RFC 1421 (1993) आणि RFC 2045 (1996, MIME चा भाग म्हणून) मध्ये अपडेट केले गेले.
"बेस64" हा शब्द यामुळे आला की एन्कोडिंग बायनरी डेटाचे प्रतिनिधित्व करण्यासाठी 64 वेगवेगळ्या ASCII वर्णांचा वापर करते. या 64 वर्णांचा निवड हेतुपुरस्सर होता, कारण 64 हे 2 च्या शक्तीचे (2^6) आहे, जे बायनरी आणि बेस64 दरम्यान रूपांतरण कार्यक्षम बनवते.
काळाच्या ओघात, बेस64 च्या अनेक प्रकारांचा उगम झाला आहे:
- मानक बेस64: RFC 4648 मध्ये परिभाषित केलेले, A-Z, a-z, 0-9, +, / आणि = पॅडिंगसाठी वापरले जाते
- URL-सुरक्षित बेस64: "+" आणि "/" च्या जागी - आणि _ वापरते जेणेकरून URL एन्कोडिंग समस्यांपासून टाळता येईल
- फाईलनेम-सुरक्षित बेस64: URL-सुरक्षित प्रमाणित, फाईलनावांमध्ये वापरण्यासाठी डिझाइन केलेले
- IMAP साठी बदललेले बेस64: IMAP प्रोटोकॉलमध्ये विशेष वर्णांच्या वेगळ्या सेटसह वापरले जाते
तीन दशकांहून अधिक काळानंतर, बेस64 आधुनिक संगणकात एक मूलभूत साधन आहे, विशेषतः वेब अनुप्रयोग आणि APIs च्या वाढीसह जे टेक्स्ट-आधारित डेटा स्वरूपांवर मोठ्या प्रमाणात अवलंबून आहेत.
कोड उदाहरणे
येथे विविध प्रोग्रामिंग भाषांमध्ये बेस64 एन्कोडिंग आणि डिकोडिंगचे उदाहरणे आहेत:
1// JavaScript बेस64 एन्कोडिंग/डिकोडिंग
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("अवैध बेस64 स्ट्रिंग");
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# Python बेस64 एन्कोडिंग/डिकोडिंग
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 # बेस64 स्ट्रिंगला बाइट्समध्ये रूपांतरित करा आणि नंतर डिकोड करा
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"अवैध बेस64 स्ट्रिंग: {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// Java बेस64 एन्कोडिंग/डिकोडिंग
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("अवैध बेस64 स्ट्रिंग: " + 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 बेस64 एन्कोडिंग/डिकोडिंग
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("अवैध बेस64 स्ट्रिंग");
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# बेस64 एन्कोडिंग/डिकोडिंग
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("अवैध बेस64 स्ट्रिंग");
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# Ruby बेस64 एन्कोडिंग/डिकोडिंग
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 "अवैध बेस64 स्ट्रिंग: #{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 बेस64 एन्कोडिंग/डिकोडिंग
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(base64String string) (string, error) {
14 bytes, err := base64.StdEncoding.DecodeString(base64String)
15 if err != nil {
16 return "", fmt.Errorf("अवैध बेस64 स्ट्रिंग: %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// Swift बेस64 एन्कोडिंग/डिकोडिंग
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("त्रुटी: बेस64 स्ट्रिंग डिकोड करू शकत नाही")
27 }
28} else {
29 print("त्रुटी: टेक्स्ट एन्कोड करू शकत नाही")
30}
31
1' Excel VBA बेस64 एन्कोडिंग/डिकोडिंग
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 = "त्रुटी: अवैध बेस64 स्ट्रिंग"
39End Function
40
41' वर्कशीटमध्ये वापर:
42' =EncodeToBase64("Hello, World!")
43' =DecodeFromBase64("SGVsbG8sIFdvcmxkIQ==")
44
1# R बेस64 एन्कोडिंग/डिकोडिंग
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 # बेस64 स्ट्रिंगला कच्च्या बाइट्समध्ये रूपांतरित करा, नंतर डिकोड करा
16 base64_raw <- charToRaw(base64_string)
17 decoded_raw <- base64decode(base64_raw)
18 return(rawToChar(decoded_raw))
19 }, error = function(e) {
20 stop(paste("अवैध बेस64 स्ट्रिंग:", 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 बेस64 एन्कोडिंग/डिकोडिंग
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 % बेस64 स्ट्रिंगला uint8 अॅरेमध्ये डिकोड करा
27 bytes = base64decode(base64String);
28 decoded = char(bytes);
29 catch
30 error('अवैध बेस64 स्ट्रिंग');
31 end
32end
33
1// C बेस64 एन्कोडिंग/डिकोडिंग 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; // अवैध बेस64 इनपुट
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("त्रुटी: अवैध बेस64 स्ट्रिंग\n");
68 }
69
70 free(encoded);
71
72 return 0;
73}
74
1// Rust बेस64 एन्कोडिंग/डिकोडिंग
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!("अवैध बेस64 स्ट्रिंग: {}", 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
JavaScript कार्यान्वयन लाइव्ह रूपांतरणासह
इथे एक उदाहरण आहे की तुम्ही JavaScript मध्ये लाइव्ह रूपांतरण वैशिष्ट्य कसे कार्यान्वित करू शकता:
1// JavaScript कार्यान्वयन लाइव्ह रूपांतरणासह
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
कडवट प्रकरणे आणि विचारणा
बेस64 एन्कोडिंग आणि डिकोडिंगसह कार्य करताना, या महत्त्वाच्या विचारांवर लक्ष ठेवा:
-
युनिकोड आणि नॉन-ASCII वर्ण: जेव्हा तुम्ही नॉन-ASCII वर्णांसह टेक्स्ट एन्कोड करता, तेव्हा बेस64 एन्कोडिंगपूर्वी योग्य वर्ण एन्कोडिंग (सामान्यतः UTF-8) सुनिश्चित करा.
-
पॅडिंग: मानक बेस64 आउटपुट लांबी 4 च्या गुणाकारात सुनिश्चित करण्यासाठी "=" वर्णांसह पॅडिंग वापरते. काही कार्यान्वयन पॅडिंग वगळण्यास अनुमती देतात, ज्यामुळे सुसंगततेच्या समस्यांचा सामना करावा लागतो.
-
लाइन ब्रेक्स: पारंपरिक बेस64 कार्यान्वयन वाचनासाठी लाइन ब्रेक्स (सामान्यतः 76 वर्णांमध्ये) समाविष्ट करतात, परंतु आधुनिक अनुप्रयोग सामान्यतः यांना वगळतात.
-
URL-सुरक्षित बेस64: मानक बेस64 "+" आणि "/" वर्णांचा वापर करतो ज्यांना URL मध्ये विशेष अर्थ आहे. URL संदर्भांसाठी, URL-सुरक्षित बेस64 वापरा जो यांना "-" आणि "_" ने बदलतो.
-
पांढरे स्थान: डिकोडिंग करताना, काही कार्यान्वयन लवचिक असतात आणि पांढरे स्थान दुर्लक्ष करतात, तर इतरांना अचूक इनपुट आवश्यक आहे.
-
आकार वाढ: बेस64 एन्कोडिंग डेटाच्या आकारात सुमारे 33% वाढ करते (3 इनपुट बाइट्ससाठी 4 आउटपुट बाइट्स).
-
कार्यप्रदर्शन: अत्यंत मोठ्या डेटासाठी बेस64 एन्कोडिंग/डिकोडिंग संगणकीयदृष्ट्या तीव्र असू शकते. आमच्या साधनाने कार्यक्षमता राखण्यासाठी डेबाउन्सिंगचा वापर केला आहे, जे सुनिश्चित करते की रूपांतरण फक्त तुम्ही टायपिंग थांबवल्यावर होते.
-
लाइव्ह रूपांतरण विचारणा: लाइव्ह रूपांतरण वैशिष्ट्य वापरताना अत्यंत मोठ्या इनपुटसह, तुम्हाला साधन डेटा प्रक्रिया करताना थोडा विलंब दिसून येऊ शकतो. हे सामान्य आहे आणि ब्राउझर कार्यक्षमता राखण्यास मदत करते.
वारंवार विचारले जाणारे प्रश्न
लाइव्ह रूपांतरण वैशिष्ट्य काय आहे?
लाइव्ह रूपांतरण वैशिष्ट्य तुम्हाला टाइप करताना आउटपुट स्वयंचलितपणे अपडेट करते, रूपांतरण बटणावर क्लिक करण्याची आवश्यकता नाही. हे त्वरित फीडबॅक प्रदान करते आणि साधन अधिक संवादात्मक आणि कार्यक्षम बनवते.
मोठ्या इनपुटसह लाइव्ह रूपांतरणामुळे माझा ब्राउझर मंदावेल का?
आमच्या कार्यान्वयनाने चांगली कार्यक्षमता सुनिश्चित करण्यासाठी डेबाउन्सिंगचा वापर केला आहे. रूपांतरण फक्त तुम्ही टायपिंग थांबवल्यावर होते, प्रत्येक कीस्ट्रोकवर नाही, ज्यामुळे जलद टायपिंग दरम्यान अत्यधिक प्रक्रिया टाळता येते.
मी लाइव्ह रूपांतरण कधी वापरावे आणि मॅन्युअल रूपांतरण कधी वापरावे?
लाइव्ह रूपांतरण संवादात्मक कार्यासाठी आदर्श आहे जिथे तुम्हाला त्वरित फीडबॅक आवश्यक आहे. अत्यंत मोठ्या डेटासेटसाठी किंवा तुम्हाला रूपांतरणापूर्वी तुमचा इनपुट पुनरावलोकन करायचा असल्यास, तुम्ही मॅन्युअल रूपांतरण पर्याय वापरण्याचे प्राधान्य देऊ शकता.
लाइव्ह रूपांतरण एन्कोडिंग आणि डिकोडिंग दोन्हींसाठी कार्य करते का?
होय, लाइव्ह रूपांतरण वैशिष्ट्य दोन्ही दिशांमध्ये कार्य करते - टेक्स्टपासून बेस64 आणि बेस64 पासून टेक्स्टपर्यंत.
लाइव्ह रूपांतरण सक्षम असताना अवैध बेस64 इनपुट केल्यास काय होते?
जर तुम्ही डिकोड मोडमध्ये लाइव्ह रूपांतरण सक्षम असताना अवैध बेस64 वर्ण इनपुट केले, तर साधन त्वरित त्रुटी संदेश दर्शवेल, ज्यामुळे तुम्हाला तात्काळ समस्या ओळखता येईल आणि दुरुस्त करता येईल.
संदर्भ
- RFC 4648 - The Base16, Base32, and Base64 Data Encodings
- RFC 2045 - MIME Part One: Format of Internet Message Bodies
- MDN वेब डॉक्स: बेस64 एन्कोडिंग आणि डिकोडिंग
- बेस64 - विकिपीडिया
- MIME - विकिपीडिया
आजच आमच्या बेस64 एन्कोडर/डिकोडर साधनाचा वापर करून टेक्स्ट आणि बेस64 स्वरूपांमध्ये जलद रूपांतरण करा रिअल-टाइम रूपांतरणाच्या सोयीसह. तुम्ही APIs सह कार्यरत असलेले विकासक असाल, ईमेल अटॅचमेंट्स हाताळत असाल किंवा टेक्स्ट स्वरूपांमध्ये बायनरी डेटा समाविष्ट करत असाल, आमचे साधन प्रक्रिया साधी आणि कार्यक्षम बनवते.
संबंधित टूल्स
आपल्या कामच्या प्रक्रियेसाठी उपयुक्त असणारे अधिक उपकरण शोधा.