TOMPOKO Base64 Ho an'ny fampandrosoana FRontend

Torolàlana feno ho an'ny fahalalana Base64 Fampidiran-drazana, decoding ary fampiharana azo ampiharina amin'ny famolavolana tranonkala maoderina.

manandrana Base64 Encoding / decoding

Inona marina Base64?

Base64 dia teti-pandrefesana misy soratra misy soratra izay manova ny angon-drakitra Binary (toy ny sary, ny rakitra, na ny baoty) ho an'ny mpilalao ASCII. Ity fiovam-po ity dia mamela ny angon-drakitra Binary mba hamindra soa aman-tsara sy hotehirizina ao amin'ny rafitra izay natao ho an'ny data-afa-tsy ny angon-drakitra, toy ny protocols mailaka, HTML, na API.

Ny anarana hoe "Base64" dia avy amin'ny fampiasana ny endri-tsoratra 64 miavaka (A-Z, A-Z, 0-9, ', ary' / ') mba hisolo tena ny soatoavina binary. tsirairay Base64 Ny toetran'ny angon-drakitra 6 dia manome angon-drakitra 6, ka mahatonga azy ho fomba mahomby hiatrehana ny votoatin'ny binary amin'ny tontolo misy soratra.

Tsy toy ny encryption, Base64 tsy fepetra fiarovana - fa natao ho an'ny fombany data. Na iza na iza dia afaka mamerina ny votoatin'ny Base64 miaraka amin'ny fitaovana fototra, ka tsy tokony hampiasaina hiarovana ny vaovao saro-pady mihitsy izy io.

Base64 toetra napetraka

ny
amin '
C
D
f
F
h
H
aho
J
K
L
M
N
O
t
Q
R
S
T
U
V
W
X
Y
Z
ny
amin '
c
D
f
f
h
h
...
x
y
z
0
1
2
3
4
5
6
7
8
9
+
/

* = "=" Dia ampiasaina ho toy ny toetran'ny padding ho an'ny angon-drakitra tsy feno

Ahoana no Base64 Asa fanodinana asa?

  1. 1

    Ampifamadiho ny angon-drakitra binary amin'ny baomba 8-bit

    Ny dingana dia manomboka amin'ny angon-drakitra binary (e.g., rakitra sary). Ity angon-drakitra ity dia mizara ho fizarana 8-bit (1-byte), izay mamorona ny fidirana an-tsokosoko Base64 Encoding.

  2. 2

    Vondron-tarika ao anaty sakana 24-bit

    Koa satria Base64 Mampiasa litera 6-bit, ny baomba 8-bit dia mitambatra ao anaty sombin-tsofina 24-bit (3-byte). Ny bits 24 dia azo zaraina ho fizarana 6-bit efatra (4 × 6 = 24).

  3. 3

    Ampifamadiho ny fizarana 6-bit ho an'ny litera Base64

    Ny fizarana 6-bit 6-bit dia avadika ho sanda famaranana (0-63). Ity sanda ity dia avy eo dia avy eo amin'ny toetra mifanaraka amin'ny Base64 Toetra napetraka (e.g., 0 = "A", 1 = "B", ..., 63 = "/").

  4. 4

    Asio padding ho an'ny sombin-tsofina tsy feno

    Raha ny halavan'ny angon-drakitra Binary dia tsy misy 3 bitika maro, ny sombintsombiny farany dia tsy ho feno. Base64 Mampiasa "=" tarehimarika padding mba hanondroana bytes (1 "=" ho an'ny 1 tsy hita, 2 "=" ho an'ny 3 tsy hita).

Base64 Ohatra ohatra: lahatsoratra "Hi!"

Dingana Data fampidirana Fanehoana binary Output Base64
1. Text Rew "Salama!"
2. 8-bit Bytes (ASCII) H (72), i (105) ,! (33) 01001000, 011101001, 00100001
3. 24-bit chunk 72, 105, 33 010010000110100100100001
4. Mizara ho fizarana 6-bit 010010, 000110, 1000100, 100001
5. Niova fo ho decimal 18, 6, 36, 33
6. Sarintany mankany amin'ny toetran'ny Base64 "Hoditra"

Ny tendrony aloha Base64 Mampiasà tranga

URL URL ho an'ny sary

Ampidiro ny sary kely (toy ny kisary na avatar) mivantana amin'ny html / css mampiasa Base64 URL data. Io dia mampihena ny fangatahana HTTP ary manatsara ny hafainganam-pandeha ho an'ny haingam-pandeha kely.

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

Fandefasana angon-drakitra Binary Binary

Afindra ny angon-drakitra Binary (toy ny rakitra na pdf) amin'ny alàlan'ny fitsaharana apis amin'ny fanodinana azy Base64. Manalavitra ireo olana amin'ny kolikoly data ao amin'ny Binary ao amin'ny Payloads API mifototra amin'ny lahatsoratra (oh., JSON).

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

Cookie & CookStorage Text

Mitahiry angon-drakitra binary kely ao amin'ny mofomamy na paosy (izay hany manohana lahatsoratra fotsiny) amin'ny fanodinana azy Base64. Mahasoa ho an'ny tahiry mpampiasa na fananana kely eo an-toerana.

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

Fampidiran-dresaka mailaka

Ny ankamaroan'ny protocols mailaka (toa ny SMTP) dia lahatsoratra-ihany. Base64 Ampiasaina hanondroana ny fametahana mailaka (sary, antontan-taratasy, mba hahafahan'izy ireo alefa tsy misy kolikoly.

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

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

Inline SVG Encoding

Encode SVG Files mankany Base64 Ho an'ny fampiasana an-tserasera amin'ny sary CSS na ny toetran'ny HTML. Manatsotra ny fitantanana ny fananan'ny saribakoly ho an'ny sary Vector kely.

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

Canvas sary fanondranana

Ny HTML5 Canvas API dia mampiasa Base64 hanondrana votoaty voasarona ho toy ny angon-drakitra sary (amin'ny alàlan'ny toDataURL()). Izany dia ahafahana mamonjy ny zavakanto na sary mihetsika.

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

Ny tendrony aloha Base64 Ohatra misy kaody

Fototra Base64 Encoding / decoding

Ampiasao ny javascript naorina btoa() (Binary-to-ascii) sy atob() (Ascii-to-binary) fiasa ho an'ny tsotra Base64 asa. Fanamarihana: Miasa amin'ny tady UTF-8 ireo fiasa ireo.

// 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!"

Encode sary Base64

Manova ny rakitra sary (voafantina amin'ny alàlan'ny fampidirana rakitra) Base64 Mampiasa ny fileader API. Mahasoa ho an'ny fijerena sary alohan'ny hampidirany na hampiakarana azy ireo.

// 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);
});

Data Base64 (Voaroaka):

Base64 hamirapiratra (misintona rakitra)

niova fo Base64 Ny angon-drakitra miverina amin'ny blob (Binary lehibe iray) mba hamoronana rakitra azo alaina (e.g., PDFs, sary) ao amin'ny navigateur.

// 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 Base64 singa fototra

Singa vue.js azo averina Base64 fanodinana / fanodinana. Mampiray amin'ny rafi-pandaminana Vue amin'ny fanavaozana tena izy.

<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>

Fanontaniana matetika momba ny Base64

Atombohy amin'ny fampiasana Base64 Ao amin'ny tetikasa frontend anao

Na sary an-tsary ianao, mandefa rakitra amin'ny alàlan'ny Apis, na miara-miasa amin'ny votoatin'ny mpampiasa, Base64 dia fitaovana ilaina ho an'ny mpamorona tranonkala maoderina. Ampiasao ireo ohatra kaody etsy ambony mba hampifangaroana Base64 Encoding sy decoding amin'ny tetikasanao manaraka.