માસ્ટર આધાર64 ફ્રન્ટએન્ડ વિકાસ માટે

સમજવા માટે એક વ્યાપક માર્ગદર્શિકા આધાર64 આધુનિક વેબ ડિઝાઇનમાં એન્કોડિંગ, ડીકોડિંગ અને વ્યવહારુ એપ્લિકેશનો.

પ્રયત્ન કરો આધાર64 એન્કોડિંગ/ડીકોડિંગ

બરાબર શું છે આધાર64?

આધાર64 એ બાઈનરી-ટુ-ટેક્સ્ટ એન્કોડિંગ સ્કીમ છે જે બાઈનરી ડેટા (જેમ કે ઈમેજીસ, ફાઈલો અથવા રો બાઈટ) ને ASCII અક્ષરોમાં રૂપાંતરિત કરે છે. આ રૂપાંતરણ બાઈનરી ડેટાને ફક્ત ટેક્સ્ટ-માત્ર ડેટા માટે રચાયેલ સિસ્ટમ્સમાં સુરક્ષિત રીતે પ્રસારિત અને સંગ્રહિત કરવાની મંજૂરી આપે છે - જેમ કે ઇમેઇલ પ્રોટોકોલ, HTML અથવા API પ્રતિસાદો.

"બેઝ64" નામ દ્વિસંગી મૂલ્યોને રજૂ કરવા માટે તેના 64 વિશિષ્ટ અક્ષરો (A-Z, a-z, 0-9, '+', અને '/') ના ઉપયોગથી આવે છે. દરેક આધાર64 અક્ષર ડેટાના 6 બિટ્સને એન્કોડ કરે છે, જે તેને ટેક્સ્ટ-કેન્દ્રિત વાતાવરણમાં બાઈનરી સામગ્રીને હેન્ડલ કરવાની એક કાર્યક્ષમ રીત બનાવે છે.

એન્ક્રિપ્શનથી વિપરીત, આધાર64 સુરક્ષા માપદંડ નથી - તે ફક્ત ડેટા ફોર્મેટિંગ માટે છે. કોઈપણ મૂળભૂત સાધનો વડે Base64 સામગ્રીને ડીકોડ કરી શકે છે, તેથી તેનો ઉપયોગ સંવેદનશીલ માહિતીને સુરક્ષિત કરવા માટે ક્યારેય થવો જોઈએ નહીં.

Base64 અક્ષર સમૂહ

બી
સી
ડી
એફ
જી
એચ
આઈ
જે
કે
એલ
એમ
એન
પી
પ્ર
આર
એસ
ટી
યુ
વી
ડબલ્યુ
એક્સ
વાય
ઝેડ
a
b
c
ડી
f
g
h
x
y
z
0
1
2
3
4
5
6
7
8
9
+
/

* “=” નો ઉપયોગ અપૂર્ણ ડેટા માટે પેડિંગ કેરેક્ટર તરીકે થાય છે

કેવી રીતે કરે છે આધાર64 એન્કોડિંગ કાર્ય?

  1. 1

    બાઈનરી ડેટાને 8-બીટ બાઈટમાં કન્વર્ટ કરો

    પ્રક્રિયા બાઈનરી ડેટાથી શરૂ થાય છે (દા.ત., ઈમેજ ફાઈલ). આ ડેટાને 8-બીટ (1-બાઇટ) સેગમેન્ટમાં વિભાજિત કરવામાં આવ્યો છે, જે માટે કાચો ઇનપુટ બનાવે છે આધાર64 એન્કોડિંગ

  2. 2

    બાઇટ્સનું 24-બીટ હિસ્સામાં જૂથ કરો

    ત્યારથી આધાર64 6-બીટ અક્ષરોનો ઉપયોગ કરે છે, 8-બીટ બાઈટને 24-બીટ (3-બાઈટ) હિસ્સામાં જૂથબદ્ધ કરવામાં આવે છે. 24 બિટ્સને ચાર 6-બીટ સેગમેન્ટમાં સમાનરૂપે વિભાજિત કરી શકાય છે (4 × 6 = 24).

  3. 3

    6-બીટ સેગમેન્ટ્સને બેઝ 64 અક્ષરોમાં કન્વર્ટ કરો

    દરેક 6-બીટ સેગમેન્ટને દશાંશ મૂલ્ય (0–63) માં રૂપાંતરિત કરવામાં આવે છે. આ મૂલ્ય પછીથી અનુરૂપ અક્ષર સાથે મેપ કરવામાં આવે છે આધાર64 અક્ષર સમૂહ (દા.ત., 0 = “A”, 1 = “B”, …, 63 = “/”).

  4. 4

    અપૂર્ણ હિસ્સા માટે પેડિંગ ઉમેરો

    જો દ્વિસંગી ડેટા લંબાઈ 3 બાઈટનો બહુવિધ ન હોય, તો અંતિમ ભાગ અપૂર્ણ રહેશે. આધાર64 ગુમ થયેલ બાઈટ દર્શાવવા માટે “=” પેડિંગ અક્ષરોનો ઉપયોગ કરે છે (1 ખૂટતી બાઈટ માટે 1 “=”, 2 ખૂટતી બાઈટ માટે 2 “=”).

બેઝ64 એન્કોડિંગ ઉદાહરણ: "હાય!" ટેક્સ્ટ કરો

પગલું ઇનપુટ ડેટા દ્વિસંગી પ્રતિનિધિત્વ બેઝ 64 આઉટપુટ
1. કાચો લખાણ "હાય!"
2. 8-બીટ બાઇટ્સ (ASCII) H (72), i (105), ! (33) 01001000, 01101001, 00100001
3. 24-બીટ ચંક 72, 105, 33 01001000011010100100100001
4. 6-બીટ સેગમેન્ટમાં વિભાજિત કરો 010010, 000110, 100100, 100001
5. દશાંશમાં કન્વર્ટ કરો 18, 6, 36, 33
6. બેઝ64 અક્ષરોનો નકશો "ત્વચા"

અગ્રભાગ આધાર64 કેસો વાપરો

છબીઓ માટે ડેટા URL

નાની છબીઓ (જેમ કે ચિહ્નો અથવા અવતાર) સીધા HTML/CSS નો ઉપયોગ કરીને એમ્બેડ કરો આધાર64 ડેટા URL. આ HTTP વિનંતીઓ ઘટાડે છે અને નાની અસ્કયામતો માટે પૃષ્ઠ લોડ ઝડપને સુધારે છે.

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="Icon">

API બાઈનરી ડેટા ટ્રાન્સમિશન

તેને એન્કોડ કરીને REST API દ્વારા બાઈનરી ડેટા (જેમ કે ફાઇલો અથવા PDF) ટ્રાન્સમિટ કરો આધાર64. આ ટેક્સ્ટ-આધારિત API પેલોડ્સ (દા.ત., JSON) માં બાઈનરી ડેટા ભ્રષ્ટાચારની સમસ્યાઓને ટાળે છે.

{ "fileData": "JVBERi0xLjQKJeLjz9MNCjYgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlciAvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeAovRjEgMTAgVGYKMDAwLjEwNS4wMDAuMTAwCjAwMC4yOTkuMDAwLjAwMAo...", "fileName": "report.pdf" }

કૂકી અને લોકલ સ્ટોરેજ ટેક્સ્ટની મર્યાદાઓ

નાના દ્વિસંગી ડેટાને કૂકીઝ અથવા લોકલ સ્ટોરેજ (જે ફક્ત ટેક્સ્ટને સપોર્ટ કરે છે) માં એન્કોડ કરીને સંગ્રહિત કરો આધાર64. સ્થાનિક રીતે વપરાશકર્તાની પસંદગીઓ અથવા નાની અસ્કયામતો બચાવવા માટે ઉપયોગી.

// Save Base64 data to LocalStorage
localStorage.setItem('userAvatar', 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEA...');

ઇમેઇલ જોડાણ એન્કોડિંગ

મોટાભાગના ઈમેઈલ પ્રોટોકોલ (જેમ કે SMTP) ફક્ત ટેક્સ્ટ માટે હોય છે. આધાર64 ઈમેલ જોડાણો (છબીઓ, દસ્તાવેજો) ને એન્કોડ કરવા માટે વપરાય છે જેથી તેઓ ભ્રષ્ટાચાર વિના પ્રસારિત થઈ શકે.

Content-Type: image/jpeg; name="photo.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="photo.jpg"

/9j/4AAQSkZJRgABAQEAZABkAAD/7QBsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA...

ઇનલાઇન SVG એન્કોડિંગ

SVG ફાઇલોને એન્કોડ કરો આધાર64 CSS બેકગ્રાઉન્ડ અથવા HTML લક્ષણોમાં ઇનલાઇન ઉપયોગ માટે. આ નાના વેક્ટર ગ્રાફિક્સ માટે એસેટ મેનેજમેન્ટને સરળ બનાવે છે.

.icon {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDJBMTAgMTAgMCAwIDEgMjIgMTJBMTAgMTAgMCAwIDEgMTIgMjJBMTAgMTAgMCAwIDEgMiAxMkExMCAxMCAwIDAgMSAxMiAyWiIgc3Ryb2tlPSIjMTY1REZGIiBzdHJva2Utd2lkdGg9IjIiLz48L3N2Zz4=');
}

કેનવાસ છબી નિકાસ

HTML5 કેનવાસ API નો ઉપયોગ કરે છે આધાર64 દોરેલી સામગ્રીને ઇમેજ ડેટા તરીકે નિકાસ કરવા માટે (દ્વારા toDataURL()). આ વપરાશકર્તા દ્વારા જનરેટ કરેલ આર્ટવર્ક અથવા સ્ક્રીનશૉટ્સને સાચવવામાં સક્ષમ કરે છે.

// Get Base64 data from Canvas
const canvas = document.getElementById('myCanvas');
const base64Image = canvas.toDataURL('image/png'); // "data:image/png;base64,iVBORw0KGgo..."

અગ્રભાગ આધાર64 કોડ ઉદાહરણો

મૂળભૂત આધાર64 એન્કોડિંગ/ડીકોડિંગ

JavaScript ના બિલ્ટ-ઇનનો ઉપયોગ કરો btoa() (દ્વિસંગી-થી-ASCII) અને atob() (ASCII-ટુ-બાઈનરી) સરળ માટે કાર્યો આધાર64 કામગીરી નોંધ: આ ફંક્શન્સ UTF-8 સ્ટ્રિંગ્સ સાથે કામ કરે છે.

// Encode text to Base64
function encodeToBase64(text) {
  // Encode UTF-8 to avoid issues with special characters
  const utf8Text = unescape(encodeURIComponent(text));
  return btoa(utf8Text);
}

// Decode Base64 to text
function decodeFromBase64(base64String) {
  const utf8Text = atob(base64String);
  return decodeURIComponent(escape(utf8Text));
}

// Example usage
const originalText = "Hello, Base64!";
const encodedText = encodeToBase64(originalText);
const decodedText = decodeFromBase64(encodedText);

console.log("Original:", originalText); // "Hello, Base64!"
console.log("Encoded:", encodedText);   // "SGVsbG8sIEJhc2U2NCE="
console.log("Decoded:", decodedText);   // "Hello, Base64!"

ઇમેજને એન્કોડ કરો આધાર64

ઇમેજ ફાઇલ (ફાઇલ ઇનપુટ દ્વારા પસંદ કરેલ) માં કન્વર્ટ કરો આધાર64 FileReader API નો ઉપયોગ કરીને. છબીઓને અપલોડ કરતા પહેલા અથવા તેને ઇનલાઇન એમ્બેડ કરતા પહેલા તેનું પૂર્વાવલોકન કરવા માટે ઉપયોગી.

// Get elements from DOM
const fileInput = document.getElementById('image-upload');
const previewImage = document.getElementById('image-preview');
const base64Output = document.getElementById('image-base64');

// Handle file selection
fileInput.addEventListener('change', (e) => {
  const file = e.target.files[0];
  if (!file || !file.type.startsWith('image/')) {
    alert('Please select an image file!');
    return;
  }

  // Create FileReader to read the image
  const reader = new FileReader();
  
  // On load, get Base64 data
  reader.onload = (event) => {
    const base64Data = event.target.result;
    
    // Preview the image
    previewImage.src = base64Data;
    previewImage.style.display = 'block';
    
    // Show Base64 data (truncated for readability)
    const truncatedData = base64Data.length > 100 
      ? base64Data.substring(0, 100) + '...' 
      : base64Data;
    base64Output.textContent = truncatedData;
  };
  
  // Read the file as Base64
  reader.readAsDataURL(file);
});

Base64 ડેટા (કાપાયેલો):

આધાર64 બ્લોબ પર (ફાઇલ ડાઉનલોડ કરો)

કન્વર્ટ કરો આધાર64 બ્રાઉઝરમાં ડાઉનલોડ કરી શકાય તેવી ફાઈલો (દા.ત. પીડીએફ, ઈમેજીસ) બનાવવા માટે ડેટા બ્લોબ (બાઈનરી મોટા ઑબ્જેક્ટ) પર પાછા ફરો.

// Convert Base64 to Blob
function base64ToBlob(base64Data, contentType = 'application/octet-stream') {
  // Extract Base64 data (remove "data:..." prefix if present)
  const base64WithoutPrefix = base64Data.startsWith('data:')
    ? base64Data.split(',')[1]
    : base64Data;
  
  // Decode Base64 to binary string
  const binaryString = atob(base64WithoutPrefix);
  const byteLength = binaryString.length;
  
  // Convert binary string to Uint8Array
  const uint8Array = new Uint8Array(byteLength);
  for (let i = 0; i < byteLength; i++) {
    uint8Array[i] = binaryString.charCodeAt(i);
  }
  
  // Create and return Blob
  return new Blob([uint8Array], { type: contentType });
}

// Trigger file download from Blob
function downloadBlobAsFile(blob, fileName) {
  // Create temporary URL for Blob
  const url = URL.createObjectURL(blob);
  
  // Create anchor element to trigger download
  const a = document.createElement('a');
  a.href = url;
  a.download = fileName;
  
  // Simulate click to start download
  document.body.appendChild(a);
  a.click();
  
  // Clean up
  document.body.removeChild(a);
  URL.revokeObjectURL(url);
}

// Example: Download Base64 PDF
const base64Pdf = "JVBERi0xLjQKJeLjz9MNCjYgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlciAvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeAovRjEgMTAgVGYKMDAwLjEwNS4wMDAuMTAwCjAwMC4yOTkuMDAwLjAwMAo...";
const pdfBlob = base64ToBlob(base64Pdf, 'application/pdf');
downloadBlobAsFile(pdfBlob, 'report.pdf');

Vue.js આધાર64 ઘટક

માટે ફરીથી વાપરી શકાય તેવું Vue.js ઘટક આધાર64 એન્કોડિંગ/ડીકોડિંગ. રીઅલ-ટાઇમ અપડેટ્સ માટે Vue ની રિએક્ટિવિટી સિસ્ટમ સાથે એકીકૃત થાય છે.

<template>
  <div class="base64-converter">
    <h3 class="text-lg font-semibold mb-4">Vue Base64 Converter</h3>
    
    <!-- Input for text -->
    <div class="mb-4">
      <label class="block mb-2 text-sm font-medium">Enter Text:</label>
      <textarea 
        v-model="inputText" 
        class="w-full p-2 border rounded"
        rows="3"
        placeholder="Type text to encode..."
      ></textarea>
      <button 
        @click="encode"
        class="mt-2 px-4 py-1 bg-primary text-white rounded"
      >Encode to Base64</button>
    </div>
    
    <!-- Output for Base64 -->
    <div class="mb-4">
      <label class="block mb-2 text-sm font-medium">Base64 Result:</label>
      <textarea 
        v-model="base64Output" 
        class="w-full p-2 border rounded"
        rows="3"
        readonly
      ></textarea>
      <button 
        @click="decode"
        class="mt-2 px-4 py-1 bg-secondary text-white rounded"
      >Decode to Text</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputText: '',
      base64Output: ''
    };
  },
  methods: {
    encode() {
      if (!this.inputText) return;
      // Encode UTF-8 text to Base64
      const utf8Text = unescape(encodeURIComponent(this.inputText));
      this.base64Output = btoa(utf8Text);
    },
    decode() {
      if (!this.base64Output) return;
      // Decode Base64 to UTF-8 text
      const utf8Text = atob(this.base64Output);
      this.inputText = decodeURIComponent(escape(utf8Text));
    }
  }
};
</script>

વિશે વારંવાર પૂછાતા પ્રશ્નો આધાર64

ઉપયોગ કરવાનું શરૂ કરો આધાર64 તમારા ફ્રન્ટએન્ડ પ્રોજેક્ટ્સમાં

પછી ભલે તમે છબીઓ એમ્બેડ કરી રહ્યાં હોવ, API દ્વારા ફાઇલો ટ્રાન્સમિટ કરી રહ્યાં હોવ અથવા વપરાશકર્તા દ્વારા જનરેટ કરેલ સામગ્રી સાથે કામ કરી રહ્યાં હોવ, આધાર64 આધુનિક વેબ ડેવલપર્સ માટે આવશ્યક સાધન છે. સંકલિત કરવા માટે ઉપરના કોડ ઉદાહરણોનો ઉપયોગ કરો આધાર64 તમારા આગલા પ્રોજેક્ટમાં એન્કોડિંગ અને ડીકોડિંગ.