Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
1 MB = 1000000 B
Scrivi un valore e la conversione da megabyte a byte si aggiorna mentre digiti. Il fattore è esattamente 1000000: è quello che corrisponde in B a 1 MB. Il calcolo si fa sul tuo dispositivo; dopo il caricamento questa pagina non interroga più nessun server.
5 MB is 5000000 B
— un brano a un buon bitrate.
4000 MB is 4000000000 B
— un film di qualità normale.
5 MB is 5000000 B
— una foto fatta con il telefono.
0,001024 MB is 1024 B
— un kibibyte, che è dove comincia la confusione.
| MB | B |
|---|---|
| 1 | 1000000 |
| 2 | 2000000 |
| 5 | 5000000 |
| 10 | 10000000 |
| 50 | 50000000 |
| 100 | 100000000 |
| 500 | 500000000 |
| 1000 | 1000000000 |
Convertire MB in B
Un megabyte è un milione di byte. I produttori di memorie hanno sempre contato in decimale, ed è per questo che le loro cifre sembrano più grandi di quello che mostra il computer.
Un byte è otto bit, cosa che non è sempre stata scontata: i primi calcolatori ne usarono sei, sette o nove. L’otto si è imposto perché ci sta dentro un carattere e perché la cifra si divide in metà pulite.
Passare da megabyte a byte sposta la virgola di 6 posti verso destra e non cambia nient'altro. Non c'è nessun fattore da ricordare né arrotondamento da decidere: le cifre restano nello stesso ordine, cambia solo la loro posizione.
1234 MB sono 1234000000 B: le stesse cifre, spostate. Vale la pena saperlo perché è l'unica conversione che si controlla a colpo d'occhio — se le cifre del risultato non sono quelle di partenza, non è stata questa conversione a toccarle.
I formati di configurazione che accettano una dimensione vogliono quasi sempre un intero di byte, perché ogni altra unità in quest’area è ambigua. Un byte è la stessa quantità in ogni sistema e sotto ogni convenzione; un megabyte è 1.000.000 per un ente di standardizzazione e 1.048.576 per molto software.
La conversione da megabyte decimali è una moltiplicazione per un milione. 1 MB sono 1000000, 10 MB sono 10000000, 50 MB sono 50000000. Ognuno di questi è un numero tondo in questo sistema, e ognuno è scomodo in unità binarie — il primo indizio di cosa intendesse qualcuno quando trovate 52428800 in un file.
Lo stesso campo che accetta 10000000 accetterà spesso anche 10M, e il suffisso non è un’abbreviazione delle cifre. nginx legge k come 1.024 e m come 1.048.576, quindi client_max_body_size 10m sono 10.485.760 byte. PHP fa lo stesso per upload_max_filesize e memory_limit.
Il divario è del 4,9% a scala megabyte, abbastanza piccolo da superare una revisione e abbastanza grande da contare a un confine. Dove un file di configurazione accetta entrambe le forme, scegliete una convenzione per l’intero file e scrivetela in cima.
Il valore da scrivere è quello che apparirà corretto nello strumento che ne riferirà. Se la dashboard che il team guarda visualizza le dimensioni in mebibyte, allora 10485760 mostra un pulito 10 MiB e 10000000 mostra 9,54 — un numero che sembra un errore di qualcuno.
Ciò che non funziona è scegliere in modo indipendente in ogni punto. Uno stack dove il proxy è impostato a 10485760 e l’applicazione a 10000000 ha una finestra di 485.760 byte in cui una richiesta supera il primo controllo e fallisce il secondo.
Un caricamento file attraversa di solito almeno tre soglie configurate: un limite di corpo del reverse proxy, un limite del runtime o application server, e un limite lato framework o storage dentro l’applicazione. Ognuno è impostato separatamente, spesso da persone diverse in momenti diversi, e vince il più piccolo.
Alzare il valore che tutti conoscono e lasciare gli altri due è la ragione più comune per cui una modifica al limite non ha effetto visibile.
Un limite si applica al corpo della richiesta, e il corpo della richiesta è più grande del file. I dati multipart avvolgono ogni parte in una riga di confine e un insieme di header, un costo fisso di poche centinaia di byte per campo. Base64 non è trascurabile: trasforma ogni tre byte in quattro caratteri stampabili, quindi un file da 10 MB arriva come circa 13,4 MB di corpo.
Quindi un limite pensato per accettare file da 10 MB va impostato sulla dimensione codificata, non su quella del file. Per multipart bastano poche centinaia di kilobyte di margine; per base64 in JSON, moltiplicate per 4/3 e aggiungete un margine.
Un nudo 52428800 in un file di configurazione è un numero che nessuno verificherà, e uno sbagliato è indistinguibile da uno corretto a colpo d’occhio. Dove il formato lo permette, scrivete 50 1024 1024 e lasciate che il lettore veda la derivazione.
Vale anche registrare da dove viene il numero: un limite che esiste perché un contratto cliente dice 50 MB è una cosa diversa da uno che esiste perché lo ha suggerito un profilo di memoria, e i due verranno modificati per ragioni diverse.
1 MB fa 1000000 B. Il valore è esatto e non arrotondato: l’equivalenza fra megabyte e byte è fissata per definizione.
No. Il calcolo avviene nel tuo browser. Puoi staccare la connessione e continuare a calcolare, che fra l’altro è il modo più semplice di verificarlo.
Perché due unità diverse portano lo stesso nome. I produttori contano 1 GB = 1.000.000.000 byte; Windows mostra gibibyte, cioè 1.073.741.824 byte, ma li chiama «GB». Lo stesso disco sembra così più piccolo del sette per cento. Non è sparito niente.
Un B è 0,000001 MB. È la stessa relazione letta al rovescio, quindi un risultato di una pagina fatto passare per l’altra deve tornare da dove è partito.
Quello che questa pagina afferma su unità di informazione si può verificare, e questi sono i documenti che chiudono la questione.
Il fattore è una costante nella pagina e il conto sono quattro operazioni, quindi non si invia niente da nessuna parte e niente ha bisogno di essere inviato. Il numero che scrivi non esce dal browser — non esiste una richiesta su cui potrebbe viaggiare.