பேஸ்64 குறியாக்கி மற்றும் குறியாக்கி: உரையை பேஸ்64 க்கு/இல் மாற்றவும்
உரையை பேஸ்64 க்கு குறியாக்க அல்லது பேஸ்64 சரங்களை மீண்டும் உரையாக குறியாக்க ஒரு இலவச ஆன்லைன் கருவி. தரவுகளை குறியாக்குவதற்கான தரநிலைக்கு உட்பட்ட மற்றும் URL-பாதுகாப்பான பேஸ்64 குறியாக்கத்தை உடனடியாக மாற்றுகிறது.
பேஸ்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 குறியாக்கம் பல பயன்பாடுகளில் பரவலாகப் பயன்படுத்தப்படுகிறது:
-
மின்னஞ்சல் இணைப்புகள்: MIME (பலவகை இணைய மின் அஞ்சல் நீட்டிப்புகள்) Base64 ஐ மின்னஞ்சலில் பைனரி இணைப்புகளை குறியாக்குவதற்கு பயன்படுத்துகிறது.
-
தரவுகள் URL: HTML, CSS அல்லது JavaScript இல் சிறிய படங்கள், எழுத்துருக்கள் அல்லது பிற வளங்களை நேரடியாக சேர்க்கவும்
data:
URL திட்டத்தைப் பயன்படுத்துகிறது. -
API தொடர்புகள்: JSON payloads அல்லது பிற உரை அடிப்படையிலான API வடிவங்களில் பைனரி தரவுகளை பாதுகாப்பாக அனுப்புவது.
-
உரை வடிவங்களில் பைனரி தரவுகளை சேமித்தல்: பைனரி தரவுகளை XML, JSON அல்லது பிற உரை அடிப்படையிலான வடிவங்களில் சேமிக்க வேண்டிய போது.
-
அங்கீகார அமைப்புகள்: HTTP இல் அடிப்படையான அங்கீகாரம் Base64 குறியாக்கத்தைப் பயன்படுத்துகிறது (ஆனால் இது பாதுகாப்பிற்காக அல்ல, குறியாக்கத்திற்காகவே).
-
கிரிப்டோகிராபி: பல கிரிப்டோகிராபிக் நெறிமுறைகள் மற்றும் அமைப்புகளில், பெரும்பாலும் விசைகள் அல்லது சான்றிதழ்களை குறியாக்குவதற்காக.
-
குக்கீ மதிப்புகள்: குக்கீக்களில் சேமிக்கப்பட வேண்டிய சிக்கலான தரவுப் கட்டமைப்புகளை குறியாக்கம் செய்வது.
மாற்றுகள்
Base64 பரவலாகப் பயன்படுத்தப்படுவதற்கு, சில சூழ்நிலைகளில் அதிக பொருத்தமான மாற்றுகள் இருக்கலாம்:
-
URL-பாதுகாப்பான Base64: "+" மற்றும் "/" ஐ "-" மற்றும் "_" க்கு மாற்றும் ஒரு மாறுபாடு, URL குறியாக்கப் பிரச்சினைகளைத் தவிர்க்க. URL இல் உள்ள தரவிற்காக பயனுள்ளதாக உள்ளது.
-
Base32: 32 எழுத்துக்களைக் கொண்டது, இது நீளமான வெளியீட்டை உருவாக்குகிறது ஆனால் மனித வாசிக்கக்கூடிய மற்றும் வழக்கமாக உள்ளடக்கத்தைக் கொண்டுள்ளது.
-
Hex குறியாக்கம்: எளிய hexadecimal க்கு மாற்றம், இது குறைவான திறன்திறனை (அளவைக் இரட்டிப்பாக்குகிறது) ஆனால் மிகவும் எளிமையானது மற்றும் பரவலாக ஆதரிக்கப்படுகிறது.
-
பைனரி பரிமாற்றம்: பெரிய கோப்புகள் அல்லது திறன்திறனை மிகுந்த முக்கியத்துவம் வாய்ந்த போது, நேரடி பைனரி பரிமாற்ற நெறிமுறைகள், 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 குறியாக்கப் பிரச்சினைகளைத் தவிர்க்க
- IMAP க்கான மாற்றப்பட்ட Base64: IMAP நெறிமுறையில் பயன்படுத்தப்படுகிறது, வேறு சிறப்பு எழுத்துக்களின் தொகுப்புடன்
- பயன்பாட்டு Base64: பைனரி தரவுகளை உரை வடிவத்தில் பாதுகாப்பாக அனுப்புவதற்கு
மூன்று தசாப்தங்களுக்கு மேலாக இருந்தாலும், Base64 இன்றைய கணினி உலகில் அடிப்படை கருவியாகவே உள்ளது, குறிப்பாக இணைய பயன்பாடுகள் மற்றும் JSON போன்ற உரை அடிப்படையிலான தரவுப் வடிவங்களை அடிப்படையாகக் கொண்ட API களை உருவாக்குவதில்.
குறியீட்டு எடுத்துக்காட்டுகள்
பல்வேறு நிரலாக்க மொழிகளில் Base64 குறியாக்கம் மற்றும் குறியாக்கத்தின் எடுத்துக்காட்டுகள் இங்கே உள்ளன:
1// JavaScript 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# Python 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// Java 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# Ruby 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(base64String string) (string, error) {
14 bytes, err := base64.StdEncoding.DecodeString(base64String)
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// Swift 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' Excel 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
எல்லை நிகழ்வுகள் மற்றும் கருத்துக்கள்
Base64 குறியாக்கம் மற்றும் குறியாக்கத்துடன் வேலை செய்யும் போது, இந்த முக்கிய கருத்துக்களை கவனிக்கவும்:
-
யூனிகோட் மற்றும் அச்சி எழுத்துக்கள்: அச்சி எழுத்துக்களை உள்ளடக்கிய உரையை குறியாக்கும் போது, Base64 குறியாக்கத்திற்கு முன் சரியான எழுத்து குறியாக்கத்தை (பொதுவாக UTF-8) உறுதி செய்யவும்.
-
நிரப்புதல்: தரவின் நீளம் 4-க்கு பகுத்தால், "=" எழுத்துக்களால் நிரப்புதல் சேர்க்கப்படுகிறது. சில செயல்பாடுகள் நிரப்புதலை தவிர்க்கலாம், இது ஒத்துழைப்பு பிரச்சினைகளை உருவாக்கலாம்.
-
வழி உடைகள்: பாரம்பரிய Base64 செயல்பாடுகள் வாசிக்கக்கூடியதற்காக (பொதுவாக 76 எழுத்துக்கள் ஒவ்வொன்றுக்கு) வழி உடைகளைச் சேர்க்கின்றன, ஆனால் நவீன பயன்பாடுகள் பொதுவாக இவற்றை தவிர்க்கின்றன.
-
URL-பாதுகாப்பான Base64: Base64 ஐ "+" மற்றும் "/" எழுத்துக்களைப் பயன்படுத்துகிறது, இது URL இல் சிறப்பு அர்த்தங்களை கொண்டுள்ளது. URL சூழ்நிலைகளுக்காக, URL-பாதுகாப்பான Base64 ஐப் பயன்படுத்தவும்.
-
வெள்ளை இடங்கள்: குறியாக்கத்தின் போது, சில செயல்பாடுகள் வெள்ளை இடங்களை மன்னிக்கும் போது, மற்றவை சரியான உள்ளீட்டை தேவைப்படுத்துகின்றன.
-
அளவீட்டில் அதிகரிப்பு: Base64 குறியாக்கம் தரவின் அளவை சுமார் 33% அதிகரிக்கிறது (3 உள்ளீட்டு பைட்டுகளுக்கு 4 வெளியீட்டு பைட்டுகள்).
-
செயல்திறன்: மிகவும் பெரிய தரவுக்கு Base64 குறியாக்கம்/குறியாக்கம் கணினி வளங்களை அதிகமாகப் பயன்படுத்தலாம். மிகவும் பெரிய கோப்புகளுக்கு ஓட்டம் முறைகளைப் பரிசீலிக்கவும்.
மேற்கோள்கள்
பின்னூட்டம்
இந்த கருவி பற்றி பின்னூட்டம் அளிக்க தொடங்க பின்னூட்டத்தை கிளிக் செய்யவும்
சம்பந்தப்பட்ட கருவிகள்
உங்கள் வேலைப்பாட்டுக்கு பயனுள்ளதாக இருக்கக்கூடிய மேலும் கருவிகளை கண்டறியவும்