RFC 4648 · Encoder e decoder
Codifica in Base64 qualsiasi cosa, senza caricare nulla.
Un encoder e decoder Base64 online e gratuito per testo, file e immagini, eseguito in JavaScript nella tua scheda del browser. Non viene caricato nulla, quindi continua a funzionare offline e non ha limiti di dimensione.
- Codifica mentre scrivi
- Testo, file e immagini
- Modalità URL-safe e MIME
- Niente pubblicità né registrazione
Trascina qui un file o un’immagine
oppure . Non viene caricato nulla: il file non lascia mai il tuo computer.
Opzioni
Pronto da incollare
Ctrl+Enter codifica Ctrl+Shift+C copia il risultato Ctrl+Shift+X inverti direzione
Codifica Base64 online: gratis, istantanea e privata
Questo strumento di codifica Base64 online lavora nel tuo browser, non su un server. Scrivi nel riquadro qui sopra e il Base64 compare mentre digiti: niente pulsanti, niente ricaricamenti, niente upload. Passa a Decodifica per l’operazione inversa, oppure apri la scheda File e immagine per codificare un’immagine in Base64 e ottenere un data URI da incollare direttamente in HTML o CSS.
C’è tutto quello che definisce lo standard: l’alfabeto standard, il Base64 URL-safe (RFC 4648 §5), le righe MIME da 76 caratteri, i fine riga LF e CRLF, la codifica riga per riga e sei set di caratteri, da UTF-8 a ISO-8859-1 e UTF-16. Se preferisci codificare in Base64 nel tuo codice, gli esempi qui sotto coprono Python, JavaScript, Linux e macOS, PowerShell, PHP, Java, Go, C# e Ruby.
Ultimo aggiornamento:
Perché questo
La differenza sta nel luogo in cui avviene la codifica.
La maggior parte degli strumenti Base64 invia il tuo file a un server, lo codifica lì e ti restituisce un link per scaricarlo. I tuoi dati lasciano quindi il tuo computer per una trasformazione che il browser esegue in microsecondi. Questo strumento non fa mai quella richiesta.
| Funzione | freebase64encode.com | Tipico encoder online |
|---|---|---|
| Dove vengono elaborati i dati | Sempre nella tua scheda del browser | Caricati su un server |
| Limite di dimensione dei file | Solo la memoria del dispositivo | Di solito al massimo 100 MB |
| File salvati su un server | Mai: non esiste un endpoint | Conservati temporaneamente, poi eliminati |
| Funziona anche offline | Sì, una volta caricata la pagina | No |
| Codifica in tempo reale mentre scrivi | Attiva di default | Opzionale o con un pulsante |
| Codifica e decodifica | Una pagina, un clic per invertire | Due pagine separate |
| Immagine → data URI + HTML/CSS/Markdown | Integrato, con anteprima | Non disponibile |
| Esempi di codice in 9 linguaggi | Nella pagina | Non disponibile |
| Aumento di dimensione mostrato | Byte e % in tempo reale | Non mostrato |
| Pubblicità e banner dei cookie | Nessuno, e nessun cookie di tracciamento | Di solito presenti |
Nel codice
Codifica Base64 in Python, JavaScript, Bash, PowerShell e altri cinque.
Codice pronto da copiare e incollare per codificare e decodificare nei linguaggi più cercati, con la trappola che fa perdere un pomeriggio a tutti segnalata per ognuno.
Codifica Base64 in Python
Python include Base64 nella libreria standard. L’errore più comune: b64encode accetta bytes, non str, quindi il testo va prima codificato in UTF-8.
import base64
# Encode a string ─ note the .encode("utf-8"): b64encode takes bytes, not str
text = "Man is distinguished"
encoded = base64.b64encode(text.encode("utf-8")).decode("ascii")
print(encoded) # TWFuIGlzIGRpc3Rpbmd1aXNoZWQ=
# Decode it back
decoded = base64.b64decode(encoded).decode("utf-8")
# URL-safe, unpadded (RFC 4648 §5) ─ the JWT flavour
base64.urlsafe_b64encode(b"data").rstrip(b"=")
# Encode a file, wrapped at 76 characters for MIME
with open("photo.png", "rb") as f:
mime = base64.encodebytes(f.read()).decode("ascii")
# Build a data URI for an image
uri = "data:image/png;base64," + base64.b64encode(open("photo.png", "rb").read()).decode() Codifica Base64 in JavaScript
btoa() è l’API storica del browser, ma lancia un InvalidCharacterError con qualsiasi carattere oltre U+00FF. Per il testo Unicode, convertilo prima in byte con TextEncoder.
// Browser, ASCII only
btoa("hello"); // "aGVsbG8="
atob("aGVsbG8="); // "hello"
// Browser, Unicode-safe ─ btoa() throws above U+00FF
const bytes = new TextEncoder().encode("héllo 🎉");
const b64 = btoa(Array.from(bytes, (b) => String.fromCharCode(b)).join(""));
const text = new TextDecoder().decode(
Uint8Array.from(atob(b64), (c) => c.charCodeAt(0))
);
// Node.js
Buffer.from("hello", "utf8").toString("base64");
Buffer.from(b64, "base64").toString("utf8");
// Modern runtimes ─ no btoa() dance needed
new TextEncoder().encode("hello").toBase64(); // "aGVsbG8="
Uint8Array.fromBase64("aGVsbG8=");
// URL-safe: swap the two characters URLs reserve, then drop padding
const urlSafe = b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
// Encode a file the user picked, without uploading it
const buf = new Uint8Array(await file.arrayBuffer());
const fileB64 = btoa(Array.from(buf, (b) => String.fromCharCode(b)).join("")); Codifica Base64 su Linux, macOS e Bash
GNU coreutils fornisce il comando base64 su qualsiasi sistema Linux. macOS include la versione BSD, con opzioni diverse: qui sotto trovi entrambe.
# Encode a file
base64 photo.png > photo.b64
# Encode a string ─ use printf, not echo, or you encode a trailing newline too
printf %s 'hello' | base64 # aGVsbG8=
echo 'hello' | base64 # aGVsbG8K ← the K is the newline
# One unbroken line (GNU): disable wrapping
base64 -w 0 photo.png
# MIME-compliant 76-character lines
base64 -w 76 photo.png
# Decode
base64 -d photo.b64 > photo.png
echo 'aGVsbG8=' | base64 --decode
# URL-safe output
base64 -w 0 photo.png | tr '+/' '-_' | tr -d '='
# macOS / BSD base64 ─ no -w flag; use -i / -o, and -D to decode
base64 -i photo.png -o photo.b64
base64 -D -i photo.b64 -o photo.png
# Also available almost everywhere ─ -A keeps it on one line
openssl base64 -A -in photo.png
# Copy straight to the clipboard on macOS
base64 -i photo.png | pbcopy Codifica Base64 con PowerShell e Windows
PowerShell richiama direttamente .NET. Scegli con attenzione la codifica del testo: [Text.Encoding]::Unicode è UTF-16 LE, che è ciò che si aspetta powershell -EncodedCommand ma non la maggior parte delle API.
# Encode a string as UTF-8
$b64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
# Decode it back
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($b64))
# Encode a file
[Convert]::ToBase64String([IO.File]::ReadAllBytes("$PWD\photo.png")) | Set-Content photo.b64
# Decode a file
[IO.File]::WriteAllBytes("$PWD\photo.png", [Convert]::FromBase64String((Get-Content photo.b64 -Raw)))
# -EncodedCommand needs UTF-16 LE, not UTF-8
$cmd = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Get-Date'))
powershell -EncodedCommand $cmd
# cmd.exe: certutil ships with Windows (adds BEGIN/END header lines)
certutil -encode photo.png photo.b64
certutil -decode photo.b64 photo.png Codifica Base64 in PHP
base64_encode() e base64_decode() sono integrate, senza estensioni. Usa la modalità strict di base64_decode() quando l’input non è affidabile.
$encoded = base64_encode('hello'); // aGVsbG8=
$decoded = base64_decode($encoded);
// Strict mode returns false instead of silently skipping invalid characters
$safe = base64_decode($input, true);
if ($safe === false) { /* not valid Base64 */ }
// URL-safe, unpadded
$url = rtrim(strtr(base64_encode($raw), '+/', '-_'), '=');
// A file as a data URI
$uri = 'data:image/png;base64,' . base64_encode(file_get_contents('photo.png'));
// MIME, 76-character lines
$mime = chunk_split(base64_encode($raw), 76, "\r\n"); Codifica Base64 in Java
java.util.Base64 fa parte del JDK da Java 8 e offre tre encoder (base, URL-safe e MIME), quindi raramente serve una libreria esterna.
import java.util.Base64;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
// Always name the charset explicitly ─ the platform default is a portability bug
String encoded = Base64.getEncoder()
.encodeToString("hello".getBytes(StandardCharsets.UTF_8));
byte[] raw = Base64.getDecoder().decode(encoded);
String text = new String(raw, StandardCharsets.UTF_8);
// URL-safe, unpadded (RFC 4648 §5)
String jwtPart = Base64.getUrlEncoder().withoutPadding().encodeToString(bytes);
// MIME ─ 76-character lines separated by CRLF
String mime = Base64.getMimeEncoder()
.encodeToString(Files.readAllBytes(Path.of("photo.png"))); Codifica Base64 in Go
encoding/base64 offre quattro codifiche. Std e URL hanno il padding; RawStd e RawURL sono le varianti senza padding.
import (
"encoding/base64"
"io"
"os"
)
encoded := base64.StdEncoding.EncodeToString([]byte("hello")) // aGVsbG8=
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil { /* not valid Base64 */ }
// URL-safe and unpadded ─ what JWT libraries use
token := base64.RawURLEncoding.EncodeToString(raw)
// A file
data, _ := os.ReadFile("photo.png")
uri := "data:image/png;base64," + base64.StdEncoding.EncodeToString(data)
// Stream a large file instead of holding it all in memory
f, _ := os.Open("video.mp4")
defer f.Close()
w := base64.NewEncoder(base64.StdEncoding, os.Stdout)
io.Copy(w, f)
w.Close() // Close() flushes the final partial group ─ don't skip it Codifica Base64 in C#
Convert.ToBase64String() copre il caso comune. .NET 9 ha aggiunto System.Buffers.Text.Base64Url per la variante URL-safe.
using System;
using System.IO;
using System.Text;
string encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello"));
string text = Encoding.UTF8.GetString(Convert.FromBase64String(encoded));
// MIME ─ inserts CRLF every 76 characters
Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks);
// URL-safe (.NET 9+)
System.Buffers.Text.Base64Url.EncodeToString(bytes);
// A file as a data URI
string uri = "data:image/png;base64," +
Convert.ToBase64String(File.ReadAllBytes("photo.png"));
// Validate untrusted input without throwing
if (Convert.TryFromBase64String(input, buffer, out int written)) { /* ok */ } Codifica Base64 in Ruby
Usa strict_encode64 invece di encode64: quest’ultimo va a capo ogni 60 caratteri e aggiunge un a capo finale, cosa che sorprende quando si confrontano gli hash.
require 'base64'
encoded = Base64.strict_encode64('hello') # "aGVsbG8="
decoded = Base64.decode64(encoded)
# encode64 wraps at 60 chars and adds a trailing newline ─ rarely what you want
Base64.encode64('hello') # "aGVsbG8=\n"
# URL-safe (RFC 4648 §5)
Base64.urlsafe_encode64(raw, padding: false)
# A file ─ binread avoids any encoding conversion
Base64.strict_encode64(File.binread('photo.png')) Il meccanismo
Come funziona davvero la codifica Base64.
Base64 riscrive byte qualsiasi con 64 caratteri che ogni sistema comprende. Prende tre byte (24 bit) e li ritaglia in quattro gruppi da 6 bit. Ogni gruppo è un indice dell’alfabeto A–Z a–z 0–9 + /. Poiché 3 byte diventano sempre 4 caratteri, l’output è esattamente un terzo più grande.
Esempio passo per passo: Man → TWFu
| Testo | M | a | n |
|---|---|---|---|
| ASCII | 77 | 97 | 110 |
| Bit | 01001101 01100001 01101110 | ||
| Gruppi da 6 bit | 010011 010110 000101 101110 | ||
| Indice | 19 · 22 · 5 · 46 | ||
| Base64 | TWFu | ||
Quando la lunghezza dell’input non è un multiplo di tre, l’ultimo gruppo viene completato con = in modo che l’output resti un multiplo di quattro. Un byte avanzato dà ==, due byte avanzati danno =.
Esempi di codifica Base64
Ecco come appaiono alcune stringhe comuni codificate in Base64 come UTF-8. Incollane una nello strumento qui sopra per verificarlo.
| Input | Base64 | Nota |
|---|---|---|
| Hello, World! | SGVsbG8sIFdvcmxkIQ== | Due = perché 13 byte ne lasciano uno in più |
| Hello World | SGVsbG8gV29ybGQ= | 11 byte, quindi un solo = |
| hello | aGVsbG8= | |
| base64 | YmFzZTY0 | 6 byte sono divisibili per 3: niente padding |
| user:password | dXNlcjpwYXNzd29yZA== | Valore di un’intestazione HTTP Basic auth |
| héllo 🎉 | aMOpbGxvIPCfjok= | UTF-8: la é occupa 2 byte, l’emoji 4 |
| {"alg":"HS256","typ":"JWT"} | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 | Intestazione di un JWT, URL-safe e senza padding |
L’alfabeto Base64 (tabella degli indici)
Ogni valore da 6 bit, da 0 a 63, corrisponde a un carattere. L’alfabeto URL-safe è identico, tranne che 62 è - e 63 è _. Il = è padding e non fa parte dell’alfabeto.
| Valore | Carattere | Valore | Carattere | Valore | Carattere | Valore | Carattere |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| 2 | C | 18 | S | 34 | i | 50 | y |
| 3 | D | 19 | T | 35 | j | 51 | z |
| 4 | E | 20 | U | 36 | k | 52 | 0 |
| 5 | F | 21 | V | 37 | l | 53 | 1 |
| 6 | G | 22 | W | 38 | m | 54 | 2 |
| 7 | H | 23 | X | 39 | n | 55 | 3 |
| 8 | I | 24 | Y | 40 | o | 56 | 4 |
| 9 | J | 25 | Z | 41 | p | 57 | 5 |
| 10 | K | 26 | a | 42 | q | 58 | 6 |
| 11 | L | 27 | b | 43 | r | 59 | 7 |
| 12 | M | 28 | c | 44 | s | 60 | 8 |
| 13 | N | 29 | d | 45 | t | 61 | 9 |
| 14 | O | 30 | e | 46 | u | 62 | + |
| 15 | P | 31 | f | 47 | v | 63 | / |
Le varianti di Base64 a confronto
«Base64» è una famiglia. Tutte le varianti condividono le stesse 62 lettere e cifre e differiscono per gli ultimi due caratteri, il padding e gli a capo. Lo strumento qui sopra produce le prime tre.
| Variante | Specifica | Caratteri 62 / 63 | Padding | A capo | Uso |
|---|---|---|---|---|---|
| Standard | RFC 4648 §4 | + / | Obbligatorio | Nessuno | Uso generale, JSON, data URI |
| URL-safe (base64url) | RFC 4648 §5 | - _ | Di solito omesso | Nessuno | JWT, URL, nomi di file |
| MIME | RFC 2045 | + / | Obbligatorio | CRLF ogni 76 | Allegati email |
| PEM | RFC 7468 | + / | Obbligatorio | Ogni 64, con BEGIN/END | Certificati TLS, chiavi |
Dove si usa Base64
Allegati email
SMTP è stato pensato per testo a 7 bit. MIME (RFC 2045) codifica gli allegati in Base64 e va a capo ogni 76 caratteri, così i server di posta li inoltrano senza modificarli.
Data URI
data:image/png;base64,… incorpora una piccola immagine, un font o un SVG direttamente in HTML o CSS, risparmiando una richiesta. Conviene sotto qualche kilobyte; oltre, il 33% in più e la perdita della cache costano più della richiesta.
Dati JSON e XML
Nessuno dei due formati può contenere byte arbitrari. Base64 trasforma un file in una semplice stringa che passa in qualsiasi parser JSON: è così che i dati binari viaggiano nelle API REST.
JWT e URL
I JSON Web Token usano base64url, la variante RFC 4648 §5 con - e _ al posto di + e / e senza padding, così un token può stare tranquillamente in un URL, un cookie o un’intestazione.
HTTP Basic auth
Authorization: Basic è letteralmente base64(utente:password). È una codifica, non una cifratura, ed è proprio per questo che Basic auth è accettabile solo su HTTPS.
Configurazione e segreti
I Secret di Kubernetes, i certificati TLS in formato PEM e le chiavi SSH salvano i dati binari in Base64, così il file resta un testo leggibile, confrontabile e facile da copiare.
Sei errori che costano un pomeriggio
Base64 non è cifratura
Chiunque può decodificarlo con un solo comando. Non usarlo mai per nascondere una password, una chiave API o dati personali: per quello serve una vera cifratura.
Set di caratteri diversi rovinano il testo
Base64 codifica byte, e il testo diventa byte solo dopo aver scelto un set di caratteri. Codifica in UTF-8 e decodifica in Latin-1 e otterrai caratteri incomprensibili. Usa UTF-8 da entrambe le parti.
echo aggiunge un a capo
echo "hi" | base64 codifica tre byte, non due, perché echo aggiunge \n. Usa printf %s per codificare esattamente ciò che hai scritto.
Gli a capo cambiano la stringa
L’output MIME contiene un CRLF ogni 76 caratteri. La maggior parte dei decoder ignora gli spazi, ma un confronto rigoroso o l’hash di due stringhe «identiche» fallisce se una delle due va a capo.
+ e / si rompono negli URL
Il + diventa uno spazio quando una query string viene decodificata come form, e la / divide i percorsi. Usa la variante URL-safe ogni volta che il valore finisce in un URL o in un nome di file.
I dati crescono di un terzo
Ogni 3 byte diventano 4 caratteri. Mettere un grosso upload in Base64 dentro un JSON aumenta banda e memoria da entrambe le parti: invia invece multipart/form-data.
Domande
Codifica Base64: domande e risposte.
Che cos’è la codifica Base64?
Base64 è uno schema di codifica da binario a testo che rappresenta i dati binari con 64 caratteri ASCII stampabili (A–Z, a–z, 0–9, + e /). Esiste perché i dati binari possano viaggiare in sicurezza su canali pensati per il testo: corpi delle email, documenti JSON e XML, intestazioni HTTP, URL e attributi HTML. Base64 è una codifica, non una cifratura: chiunque può decodificarlo, quindi non offre riservatezza.
Come si codifica un testo in Base64 online?
Incolla o scrivi il testo nel riquadro di input di questa pagina. Il risultato appare subito nel riquadro di output: nessun pulsante da premere e nessun ricaricamento, perché la codifica avviene nel browser mentre scrivi. Premi Copia, oppure Ctrl+Shift+C, per copiare la stringa Base64 negli appunti.
Come si codifica una stringa in Base64?
La stringa viene prima trasformata in byte con un set di caratteri (quasi sempre UTF-8) e poi quei byte vengono codificati in Base64. In questa pagina succede in automatico: scrivi la stringa e copia il risultato. Per esempio, "Hello, World!" in Base64 diventa SGVsbG8sIFdvcmxkIQ==. Nel codice basta una riga in qualsiasi linguaggio diffuso; guarda gli esempi per Python, JavaScript, Bash, PowerShell, PHP, Java, Go, C# e Ruby.
Questo encoder Base64 è sicuro e privato?
Sì. Ogni byte viene codificato localmente da JavaScript nella tua scheda del browser. Testi, file e immagini non vengono mai inviati a un server, mai salvati in un database e mai registrati: il sito è una pagina completamente statica, senza alcun endpoint di upload. Puoi verificarlo aprendo la scheda Rete dei DevTools durante la codifica, oppure scollegandoti da internet e vedendo che lo strumento funziona ancora.
Come si codifica in Base64 con Python?
Usa il modulo integrato base64. Codifica con base64.b64encode(data.encode("utf-8")).decode("ascii") e decodifica con base64.b64decode(encoded).decode("utf-8"). Nota che b64encode accetta bytes, non str: per questo l’input viene prima codificato in UTF-8. Per un output URL-safe usa base64.urlsafe_b64encode, e per un output MIME con righe da 76 caratteri base64.encodebytes.
Come si codifica in Base64 con PowerShell o su Windows?
In PowerShell esegui [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("hello")) per codificare una stringa, oppure [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\percorso\file.png")) per codificare un file. Da cmd.exe, certutil -encode in.png out.b64 funziona su qualsiasi installazione di Windows, ma aggiunge righe di intestazione BEGIN ed END. Usa [Text.Encoding]::Unicode (UTF-16 LE) solo con powershell -EncodedCommand.
Come si codifica in Base64 con JavaScript?
Per il testo ASCII, btoa(str) codifica e atob(str) decodifica. btoa genera un errore con i caratteri oltre U+00FF, quindi per il testo Unicode converti prima in byte: btoa(Array.from(new TextEncoder().encode(str), (b) => String.fromCharCode(b)).join("")). Evita la forma con spread String.fromCharCode(...bytes), che fa traboccare lo stack con input grandi. In Node.js usa Buffer.from(str, "utf8").toString("base64"). I runtime moderni offrono anche Uint8Array.prototype.toBase64().
Come si codifica un file in Base64 su Linux?
Usa il comando base64 di coreutils: base64 file.txt lo codifica e base64 -d file.b64 lo decodifica. Aggiungi -w 0 per disattivare gli a capo quando ti serve un’unica riga, oppure -w 76 per un output conforme a MIME. Per codificare direttamente una stringa, passala con una pipe: printf %s "hello" | base64. Usa printf invece di echo, così non includi un a capo finale nei byte codificati.
Come si codifica in Base64 su Mac?
macOS include il comando base64 BSD nel Terminale. Codifica un file con base64 -i file.png -o file.b64, una stringa con printf %s "hello" | base64, e decodifica con base64 -D -i file.b64 -o file.png. A differenza del base64 GNU di Linux, non va a capo per default e non ha l’opzione -w. Reindirizza su pbcopy per copiare il risultato direttamente negli appunti.
Come si codifica un’immagine in Base64?
Apri la scheda File e immagine di questa pagina e trascina la tua immagine. Ottieni il Base64 grezzo, un data URI pronto da incollare (data:image/png;base64,...) e snippet HTML, CSS e Markdown già generati. Base64 rende un’immagine circa il 33% più grande, quindi conviene incorporare solo immagini piccole (sotto i 5 KB circa) e servire quelle più grandi come normali file che il browser può mettere in cache.
Che cos’è il Base64 URL-safe?
Il Base64 standard usa + e /, che hanno un significato riservato negli URL e nei nomi di file. Il Base64 URL-safe (RFC 4648 §5, detto anche base64url) sostituisce + con - e / con _, e di solito elimina il padding =. È il formato usato dai JSON Web Token. Attiva l’opzione URL-safe di questa pagina per generarlo.
Perché la mia stringa Base64 finisce con dei segni =?
Base64 elabora l’input a gruppi di 3 byte che diventano 4 caratteri. Quando la lunghezza dell’input non è un multiplo di 3, l’ultimo gruppo viene completato con = perché l’output resti un multiplo di 4. Un byte avanzato produce due =, due byte avanzati ne producono uno. Il padding non contiene dati ed è facoltativo in alcune varianti, come base64url.
Di quanto aumenta Base64 la dimensione dei dati?
Di circa il 33%: ogni 3 byte di input diventano 4 caratteri di output, un rapporto di 4/3. La lunghezza esatta con padding è di 4 × ⌈n / 3⌉ caratteri per n byte di input, quindi 10 byte diventano 16 caratteri e 1 MB diventa circa 1,33 MB. In modalità MIME gli a capo aggiungono un ulteriore 2,6% circa (un CRLF di due byte ogni 76 caratteri). Questo strumento mostra la dimensione esatta di input e output e la percentuale di aumento sotto il risultato mentre scrivi.
C’è un limite di dimensione per i file?
Non c’è alcun limite lato server, perché non c’è nessun server. Il limite pratico è la memoria del dispositivo e della scheda del browser; su un computer di solito funzionano file fino a qualche centinaio di megabyte, e questo strumento elabora i file grandi a blocchi così il browser resta reattivo. Gli strumenti concorrenti che caricano i file su un server di solito ti limitano a 100 MB.
La codifica Base64 funziona con Unicode ed emoji?
Sì. Il testo viene prima convertito in byte con il set di caratteri scelto (UTF-8 per default, che copre ogni punto di codice Unicode, emoji comprese) e poi quei byte vengono codificati in Base64. Set di caratteri diversi tra encoder e decoder sono la causa più comune di testo illeggibile, quindi tieni entrambi su UTF-8, a meno che tu non abbia un motivo preciso.