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
* = "=" Dia ampiasaina ho toy ny toetran'ny padding ho an'ny angon-drakitra tsy feno
Ahoana no Base64 Asa fanodinana asa?
-
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
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
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
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.
