Convertire JSON in TXT
Oppure incollare il testo dei sottotitoli
Cosa cambia questa conversione
5 elementi vengono scartati o richiedono una decisione
- Temporizzazione
l’intera timeline (il formato di uscita non registra alcuna temporizzazione)
- Stile
tutto lo stile (grassetto, corsivo, colore, contorno, ombra)
- Posizionamento
il posizionamento sullo schermo (ogni blocco torna alla posizione predefinita)
- Karaoke
la temporizzazione karaoke (evidenziazione per sillaba)
- Interruzioni di riga
le interruzioni di riga (i blocchi su più righe verranno uniti in una sola riga)
Questo elenco deriva dalla matrice delle capacità di questi due formati, non dal particolare file caricato. Un file specifico può perdere di più se usa caratteristiche che il formato consente ma la matrice non modella.
Questa pagina converte un file JSON in TXT. Si trascina il file nel riquadro, oppure si incolla il testo, e si riprende indietro la versione TXT. La conversione avviene interamente nel browser: nessun file viene caricato e non serve un account.
I due formati non conservano le stesse cose, e la differenza non è cosmetica: tempi, stile, posizione, karaoke e a capo non hanno dove stare in TXT. L’elenco qui sopra nasce da ciò che ciascuno dei due formati sa esprimere, non dal file che si carica, quindi la risposta è la stessa prima ancora di aprire qualcosa.
Un file va bene, e così un’intera stagione: la coda li lavora in ordine e i risultati scendono insieme in un unico ZIP.
Esempi
Un file JSON tipico, convertito in TXT
Ingresso
{
"version": 1,
"title": "Fixture: typical",
"fps": 25,
"styles": {
"Default": {
"name": "Default",
"fontFamily": "Arial",
"fontSize": 20,
"primaryColor": "#FFFFFF",
"bold": false,
"italic": false
}
},
"generator": "subtitlematrix fixtures",
"cues": [
{
"id": "1",
"start": 0,
"end": 2000,
"lines": [
"Hello world.",
"Second line."
],
"style": "Default",
"position": {
"x": 100,
"y": 200,
"align": "center"
}
},
{
"id": "2",
"start": 2500,
"end": 4000,
"lines": [
"Plain line.",
{
"text": "Styled line.",
"tags": [
{
"kind": "italic",
"start": 0,
"end": 6
}
]
}
]
},
{
"id": "3",
"start": 4500,
"end": 6000,
"lines": [
"Roger: I am here."
],
"speaker": "Roger"
}
]
}
Uscita
Hello world.
Second line.
Plain line.
Styled line.
Roger: I am here.
In questa conversione si perdono: tempi, stile, posizione, karaoke e a capo. Tutto il resto corrisponde riga per riga.
La stessa conversione su un input scomodo
Ingresso
[
{ "start": 0, "end": 1000, "lines": ["First."] },
{ "start": 1000, "end": 2000, "text": "Second." },
"not an object",
{ "start": 2000, "end": 3000, "lines": ["Third."], "class": "top" }
]
Uscita
First.
Second.
Third.
È il tipo di danno che hanno i file reali: fine riga misti, spazi vaganti, campi lasciati vuoti. Confronto con l’esempio ordinato qui sopra per vedere cosa il parser perdona.
Domande frequenti
Dove sono finiti i timecode del JSON?
TXT non ne ha da dare: un’esportazione in testo sono parole, non istanti. L’ordine delle righe JSON resta, quindi la quarantesima riga del file è la quarantesima riga qui, ma nulla nell’uscita dice quando ciascuna compare sullo schermo.
Che fine fanno grassetto, corsivo e colore passando da JSON a TXT?
TXT non conserva alcuno stile, quindi va perso tutto: i `tags` che una riga del blocco porta con sé, o una voce dell’oggetto `styles` del documento, non hanno dove atterrare, e ogni riga viene scritta come testo semplice. Le parole in sé restano intatte.
Che fine fa la posizione sullo schermo passando da JSON a TXT?
TXT non sa dire dove viene disegnato un sottotitolo, quindi la posizione conservata con ogni blocco viene persa all’uscita dal JSON, e ogni blocco torna alla posizione predefinita scelta dal lettore: il fondo del fotogramma, centrato, per la maggior parte di essi.
Che fine fa il karaoke passando da JSON a TXT?
La temporizzazione se ne va, le parole restano. Il karaoke vive nelle campiture di karaoke che un blocco JSON porta con sé, che segnano quando ogni sillaba si accende, e TXT non ha modo di registrare un istante dentro una riga: i segni cadono e le sillabe arrivano come testo TXT normale.
Che fine fa in TXT un blocco JSON su due righe?
Entrambe le righe vengono scritte, una sotto l’altra, ma il file smette di dire che stanno insieme: TXT non sa raggruppare righe in un solo blocco, quindi rileggendo il risultato si otterrebbero due sottotitoli dove il file JSON ne aveva uno. Conta se dopo il file deve passare da una traduzione o da uno strumento di ritocco dei tempi.
Che aspetto ha il risultato quando JSON diventa TXT?
Come TXT: niente numeri di blocco e niente timecode, una riga di testo per ogni riga di sottotitolo. Ogni blocco JSON diventa un blocco TXT, nello stesso ordine, con lo stesso testo.
I blocchi JSON mantengono l’ordine nel file TXT?
Sì, e lungo la strada vengono ordinati per istante di inizio: prima il più anticipato, che è l’ordine atteso da ogni formato di questo sito e quello con cui i lettori li scorrono. Se il file JSON elencava i blocchi fuori sequenza, il TXT li rimette in ordine: è un intervento sulla struttura del file, non sul contenuto, ed è voluto.
Posso riconvertire il TXT in JSON?
Sì, e ha un elenco suo: la conversione da TXT a JSON deve inventare i tempi, perché il testo non ne porta. Quell’elenco è diverso da quello qui sopra perché i due formati conservano cose diverse.
Il file TXT conserva la codifica del file JSON?
No: l’uscita è UTF-8, con fine riga Unix e senza BOM, qualunque codifica usasse il JSON. Un file che arriva in UTF-16 o in una codifica a byte singolo di Windows viene decodificato in ingresso (il pannello del risultato lo segnala quando accade); quello che esce è sempre lo stesso TXT in UTF-8.