Andare al contenuto principale
SubtitleMatrix

Convertire la codifica dei sottotitoli

Testo e stileCorreggere codifica e BOM
Oppure incollare il testo dei sottotitoli

Opzioni

Questo cambia i byte, non i sottotitoli. Ogni carattere del file viene scritto nella codifica scelta, così un programma di riproduzione o uno script che insiste su una codifica ottiene un file che sa leggere. UTF-8 è quella che tutto ciò di moderno si aspetta ed è quella che questo sito scrive ovunque altrove. UTF-8 con BOM sono gli stessi byte con il contrassegno di tre byte davanti. UTF-16 LE è quella che i programmi Windows chiamano Unicode e occupa circa il doppio. Windows-1252 è la vecchia codifica dell’Europa occidentale, un byte per carattere, ed è quella con cui bisogna stare attenti: non ha spazio per cinese, giapponese, coreano, cirillico, greco o emoji, quindi ogni carattere che non sa scrivere esce come punto interrogativo ed è contato nel rapporto qui sopra. Nient’altro del file cambia.

La frequenza dei fotogrammi in cui sono contati i tempi. Nelle pagine di formato è quella che serve a MicroDVD, perché memorizza i tempi come numeri di fotogramma. Nelle pagine della frequenza dei fotogrammi è la cadenza con cui è stato temporizzato il file — la versione per cui sono stati creati i sottotitoli — e il secondo riquadro della pagina accetta la frequenza del video con cui verranno usati. 23,976, 24, 25, 29,97, 30, 50, 59,94 e 60 sono quelle comuni. Sbagliarla sposta l’intera timeline, e nelle pagine della frequenza dei fotogrammi la sposta di un rapporto anziché di un importo fisso.

La codifica dei caratteri di un file è la regola che trasforma il suo testo in byte, ed è l’unica proprietà di un file di sottotitoli che non si può vedere guardandolo. Blocco note, un browser, un server di trasmissione e un televisore devono tutti essere informati o indovinare, e quando indovinano in modo diverso il testo arriva come simboli che non appartengono ad alcuna lingua. Questa pagina scrive un file con una codifica che nominate voi, così l’estremità che legge non deve indovinare nulla.

Il valore predefinito è conservare quella con cui il file è arrivato, che è ciò che volete quasi sempre: un’operazione come spostare un sottotitolo nel tempo non ha motivo di riscrivere la codifica, e un file che era UTF-16LE quando è entrato è ancora UTF-16LE quando esce. Cambiate questa impostazione solo quando qualcosa davanti a voi nomina una codifica — una specifica di consegna, uno strumento che rifiuta un file, un lettore che mostra i caratteri sbagliati — oppure quando state uniformando una cartella di file provenienti da posti diversi.

Le quattro scelte sul pannello sono quelle che si presentano. UTF-8 è ciò che usano il web e la maggior parte degli strumenti moderni, e ciò che ogni pagina di conversione di questo sito scrive per impostazione predefinita. UTF-8 con segno sono gli stessi byte con tre in più davanti, per i programmi Windows che guardano i byte iniziali per decidere. UTF-16LE è ciò che gli strumenti Windows chiamano Unicode, e memorizza ogni carattere come due byte, quindi il file esce all’incirca del doppio delle dimensioni. Windows-1252 è la vecchia codifica dell’Europa occidentale, ancora scritta da parecchi strumenti di trasmissione europei, e può contenere gli accenti delle lingue dell’Europa occidentale e nient’altro.

Quell’ultimo punto è una perdita, ed è la ragione per cui questa pagina ne riporta una prima che confermiate. Salvare sottotitoli giapponesi, cinesi, cirillici o greci come Windows-1252 fa sì che i caratteri privi di un byte in quella codifica vengano scritti come punti interrogativi: il file non è rotto, i caratteri sbagliati sono spariti. Il rapporto sopra l’area di lavoro li conta e dice quanti sono, e il conteggio viene dalla stessa tabella di codice con cui scrive il codificatore, quindi il numero che leggete è il numero di punti interrogativi che otterrete. Se il conteggio non è zero, scegliete un’altra destinazione. I due riquadri possono sembrare identici, e questo è previsto invece che un difetto: una codifica è una proprietà dei byte, e i riquadri contengono i caratteri. Il cambiamento avviene nel momento in cui il file viene scritto, cioè quando lo scaricate. La riga di ogni file dice con quale codifica è stato letto e aggiunge una seconda etichetta con quella con cui sarà scritto quando le due differiscono. Nulla viene caricato, e il lavoro avviene nel browser.

Esempi

Un file di sottotitoli inglese scritto come UTF-8

Ingresso

1
00:00:01,000 --> 00:00:02,000
The room is dark.

Uscita

1
00:00:01,000 --> 00:00:02,000
The room is dark.

Il valore predefinito, e la codifica che scrive ogni altra pagina di questo sito. L’output è uguale all’input perché UTF-8 è ciò che il file era già. Ciò che questo caso fissa è il negativo: scegliere una codifica non normalizza nient’altro del file, quindi un blocco non perde le sue interruzioni di riga, non guadagna un segno e non cambia timecode perché avete visitato questa pagina.

Lo stesso file scritto come UTF-16LE

Ingresso

1
00:00:01,000 --> 00:00:02,000
The room is dark.

Uscita

1
00:00:01,000 --> 00:00:02,000
The room is dark.

I programmi Windows chiamano questa Unicode, ed è la codifica che fa la differenza più visibile al file: ogni carattere diventa due byte, un segno va in testa e il risultato è all’incirca del doppio delle dimensioni. Nulla di ciò è visibile in questi riquadri, perché contengono caratteri: la dimensione del file nel gestore file e la sua codifica nell’editor sono il posto dove la differenza si vede.

Sottotitoli giapponesi scritti come Windows-1252

Ingresso

1
00:00:01,000 --> 00:00:02,000
こんにちは

Uscita

1
00:00:01,000 --> 00:00:02,000
こんにちは

Cinque kana e una codifica che non ha spazio per nessuno di essi, quindi il rapporto delle perdite di questa esecuzione conta cinque caratteri che diventano punti interrogativi. I riquadri mostrano ancora i kana, perché la sostituzione avviene quando il file viene scritto invece che quando viene letto. Quella separazione è voluta: potete vedere che cosa dice il file e, nel rapporto, a che cosa rinuncereste scrivendolo in questo modo.

Domande frequenti

Che differenza c’è tra la codifica di un file di sottotitoli e il suo formato?

Il formato è come il file organizza numeri dei blocchi, timecode e testo — SRT, WebVTT, ASS e così via — ed è qualcosa che potete leggere. La codifica è come quei caratteri vengono trasformati in byte, ed è invisibile: lo stesso file SRT può essere memorizzato come UTF-8, UTF-16 o Windows-1252 e sembrare identico in ogni editor. Questa pagina cambia la seconda e lascia stare il primo; le pagine di conversione cambiano il primo.

Che cosa succede ai caratteri che la codifica di destinazione non può rappresentare?

Vengono scritti come punti interrogativi, e la pagina ve lo dice quanti prima che scarichiate. Windows-1252 copre le lettere dell’Europa occidentale e non ha byte per giapponese, cinese, coreano, cirillico, greco o emoji, quindi quei caratteri non possono sopravvivere in alcuna forma: non c’è errore e non c’è sostituzione che conservi il significato. Il conteggio nel rapporto delle perdite è il numero di punti interrogativi nel file che otterreste, calcolato dalla stessa tabella usata da chi scrive.

Perché i due riquadri sembrano uguali quando converto la codifica di un file di sottotitoli?

Perché i riquadri contengono caratteri e la scelta riguarda i byte. Il testo è testo; se ogni carattere occupi uno, due o tre byte viene deciso quando il file viene scritto, al momento dello scaricamento. La riga nella coda nomina la codifica con cui ogni file è stato letto e aggiunge una seconda etichetta quando quella con cui sarà scritto differisce, e il vostro editor riporterà la codifica del file che avete salvato.

Quale codifica dovrei scegliere per un file di sottotitoli da consegnare?

UTF-8, a meno che qualcosa nella specifica dica altrimenti, e di solito la specifica lo dice. Windows-1252 è comune nelle consegne di trasmissione europee ed è sicura solo per il testo dell’Europa occidentale; UTF-16LE è ciò che può richiedere uno strumento di authoring solo per Windows. Se il file era già in una codifica adatta, il valore predefinito la conserva, che è la risposta più sicura di tutte quando nulla è andato storto.

Scegliere UTF-16 raddoppia la dimensione del mio file di sottotitoli?

Sì, all’incirca. Ogni carattere è memorizzato come due byte, quindi un file inglese di 20 KB diventa di circa 40 KB, e un passaggio di compressione generica successivo ne rimuove gran parte della differenza. Il segno in testa aggiunge altri due byte. La dimensione è il prezzo della proprietà che ha reso UTF-16 comune su Windows: ogni carattere ha la stessa larghezza, cosa che il vecchio software trovava più facile da gestire.

Perché nell’elenco delle codifiche non c’è l’opzione UTF-16 big endian?

Perché nessuno la sceglie, e i file che sono già in quella codifica vengono gestiti comunque. Un file che arriva come UTF-16 big endian viene riscritto come UTF-16 big endian con l’impostazione predefinita, dato che conservare la codifica di input è ciò che la pagina fa quando non ne nominate una. L’elenco contiene le quattro destinazioni che la gente chiede davvero; il codificatore sottostante copre anche il big endian, così che conservare un file com’era non lo cambi mai in silenzio.

Strumenti correlati