Muunna rivinvaihdot
Tai liitä tekstityksen teksti
Asetukset
Jokainen tiedoston rivi päättyy joko yhteen näkymättömään merkkiin (LF) tai kahteen (CRLF). Soittimet, editorit ja tekstitystyökalut lukevat molemmat, joten tämä on lähes koskaan syy siihen, että tekstitystiedosto käyttäytyy oudosti — kaksi syytä ovat käännösputki tai tiukka jäsennin, joka hylkää toisen, ja diff-työkalu, joka näyttää jokaisen rivin muuttuneena, koska päätteet eroavat. LF on täällä oletuksena, koska Unix, macOS ja verkko käyttävät sitä ja koska jo sen sisältävä tiedosto jätetään rauhaan. CRLF:n valitseminen muuntaa molemmat olemassa olevat päätteet, joten sekatiedosto tulee yhtenäiseksi.
Kuvanopeus, jossa ajoitukset on laskettu. Muotosivuilla tätä tarvitsee MicroDVD, koska se tallentaa ajoituksen ruutunumeroina. Kuvanopeussivuilla tämä on nopeus, jota vasten tiedosto ajastettiin — versio, jolle tekstitys tehtiin — ja sivun toinen laatikko ottaa sen videon nopeuden, jonka kanssa aiot tekstitystä käyttää. Yleisiä ovat 23,976, 24, 25, 29,97, 30, 50, 59,94 ja 60. Väärä arvo siirtää koko aikajanaa, ja kuvanopeussivuilla se siirtää sitä suhteellisesti eikä kiinteällä määrällä.
Rivinvaihto on merkki tai merkkipari, joka päättää rivin, ja tavallisessa käytössä niitä on kahta lajia. Unix-järjestelmät päättävät rivin yhdellä merkillä, LF:llä; Windows päättää sen kahdella, CR:llä ja sitten LF:llä. Molemmat näyttävät ruudulla samalta, ja tekstityksen soittimet lukevat molemmat samalla tavalla, minkä vuoksi tämä on niitä eroja, jotka pysyvät näkymättöminä kunnes jokin alavirrassa välittää niistä.
Mikä välittää: versionhallinta, jossa jokainen tiedoston rivi voi näyttää muuttuneelta, koska rivinvaihdot muuttuivat; käännösskriptit ja putket, jotka riisuvat rivin viimeisen merkin ja jäävät ylimääräiseen vaununpalautukseen odottaessaan rivinvaihtoa; työkalut, jotka jakavat tiedoston LF:n kohdalta ja saavat viimeiseen kenttään liimautuneen vaununpalautuksen; ja mikä tahansa toimituserittely, joka nimeää toisen kahdesta. Tekstitystiedosto, joka on vertailtava toiseen tai yhdistettävä toiseen, on tiedosto, jonka rivinvaihdot ovat osa sen rajapintaa.
Sivu on tarkoituksella yhdenmukainen siinä, mitä se tuottaa. Sekalaisilla rivinvaihdoilla oleva tiedosto — osa riveistä CRLF, koska sitä muokattiin Windowsilla, osa LF, koska sitä muokattiin muualla — tulee ulos kokonaan valitsemassasi tyylissä, koska sivu normalisoi rivinvaihdot ensin LF:iksi ja soveltaa sitten valintaasi. Se ei ole sama asia kuin jo oikeiden rivinvaihtojen muuntaminen ja loppujen rauhaan jättäminen: se tarkoittaa, että vastaus kysymykseen ”mikä tyyli tässä tiedostossa on” lakkaa riippumasta siitä, mitä riviä katsot, ja se on ainoa vastauksen versio, josta skriptille on hyötyä.
Paljas vaununpalautus, Macin rivinvaihto ennen OS X:ää, hoidetaan muun mukana. Kukaan ei enää valitse sitä, mutta tiedostoja ilmestyy yhä sitä kantavina, ja tiedosto, jonka rivit päättyvät sillä tavalla, on yksi ainoa rivi jokaiselle työkalulle, joka etsii vain LF:ää. Ensin normalisointi tarkoittaa, että ne tiedostot tulevat ulos oikein eivätkä yhtenä valtavana alaotsikkona.
Tämän sivun kaksi ruutua ovat tämän perheen ainoa paikka, jossa ero näkyy suoraan: rivinvaihto on todellinen merkki, ja tiedosto, jonka rivit näyttävät kaksinkertaisilta väliltä katselimessa, joka ei piilota niitä, on tiedosto, jossa on CRLF. Kaikki kaksitoista muotoa kelpaavat, koska rivinvaihto on tekstin eikä tekstitysmuodon ominaisuus — myös pelkällä tekstitiedostolla on rivejä. Mitään ei lähetetä, ja tiedosto luetaan, muutetaan ja kirjoitetaan selaimessasi.
Esimerkit
Unix-tiedoston muuntaminen Windowsin rivinvaihdoiksi
Syöte
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Tuotos
1
00:00:01,000 --> 00:00:02,000
The room is dark.
2
00:00:03,000 --> 00:00:04,000
A cold night.
Jokaisesta rivinvaihdosta tulee kaksi merkkiä, mukaan lukien alaotsikoiden välissä oleva tyhjä rivi — se tyhjä rivi on myös rivinvaihto, ja muunnos, joka ohittaisi sen, jättäisi tiedoston, jonka alaotsikkoerottaja on yhä pelkkä LF. Odotettu teksti kirjoittaa rivinvaihdot CR LF -pareina, jotta määrän voi lukea suoraan siitä, eikä mikään muu tiedostossa ole liikkunut.
Windows-tiedoston muuntaminen takaisin Unixin rivinvaihdoiksi
Syöte
1
00:00:01,000 --> 00:00:02,000
The room is dark.
Tuotos
1
00:00:01,000 --> 00:00:02,000
The room is dark.
Suunta, jolla on näkyvä seuraus. Ylimääräisen vaununpalautuksen pitävä tiedosto näkyy joissakin editoreissa niin, että jokaisen rivin jälkeen on tyhjä rivi, ja komentoliittymän putkessa niin, että viimeisen kentän perään on juuttunut vaununpalautus. Video, ajoitukset ja teksti ovat molemmissa tiedostoissa samat; ero on merkki jokaisen rivin lopussa, ja tämä on se suunta, joka poistaa sen.
Kahdella koneella muokattu tiedosto yhdenmukaistettuna
Syöte
1
00:00:01,000 --> 00:00:02,000
Mixed endings.
2
00:00:03,000 --> 00:00:04,000
Second.
Tuotos
1
00:00:01,000 --> 00:00:02,000
Mixed endings.
2
00:00:03,000 --> 00:00:04,000
Second.
Sama tiedosto kahdella koneella kosketeltuna: osa riveistä päättyy CRLF:ään, osa LF:ään, ja yksi alaotsikkoerottaja on kirjoitettu kumpaakin tapaa. Tuloste on yhdenmukainen, ja juuri se on tarkoitus — tiedosto ei enää tarkoita eri asiaa riippuen siitä, mitä riviä luet. Naiivi etsi ja korvaa menee tässä tapauksessa väärin molempiin suuntiin: toiseen suuntaan se jättää LF-rivit rauhaan ja toiseen se tuottaa kaksinkertaisen vaununpalautuksen.
Usein kysytyt kysymykset
Miten näen, mitä rivinvaihtoja tekstitystiedostossa on?
Useimmissa editoreissa rivinvaihtotyyli näkyy tilarivillä muodossa LF, CRLF tai sekoitus. Komentoliittymästä tiedosto, jonka rivit päättyvät CRLF:ään, näyttää jokaisen rivin perässä vaununpalautuksen, kun sitä katsoo työkalulla, joka tekee ohjausmerkit näkyviksi. Suora testi on katsoa tavuja rivin lopussa: yksittäinen 0A on LF ja pari 0D 0A on CRLF.
Mitä tämä sivu tekee tekstitystiedostolle, jossa on sekalaisia rivinvaihtoja?
Se tekee niistä kaikista samanlaisia. Tiedosto normalisoidaan ensin LF:iksi ja muunnetaan sitten valitsemaasi tyyliin, joten tiedosto, jossa osa riveistä päättyy toisella tavalla ja osa toisella, tulee ulos täysin yhdenmukaisena eikä osittain muunnettuna. Tiedostot päätyvät siihen tilaan, kun niitä muokataan useammalla kuin yhdellä koneella, ja sekoitus on juuri se, mikä tekee vertailun toiseen kopioon lukukelvottomaksi.
Muuttavatko rivinvaihdot tekstityksen ajoituksia tai alaotsikoiden tekstiä?
Eivät. Alaotsikot, niiden numerot, alku- ja loppuajat ja niissä olevat sanat ovat kaikki identtisiä ennen ja jälkeen; mikä muuttuu, on yksi tai kaksi merkkiä jokaisen rivin lopussa. Soitin lukee molemmat tiedostot samalla tavalla, minkä vuoksi tämä on muunnos, jonka voi tehdä toimituserittelyn vuoksi ilman huolta itse tekstityksistä.
Pitäisikö tekstityksen rivinvaihdot muuntaa LF:iksi vai CRLF:iksi?
LF:iksi, ellei jokin edessäsi nimeä CRLF:ää. Se on se, mitä Unix-työkalut, useimmat käännösputket ja WebVTT-määritys odottavat, ja se tekee tiedostosta yhden tavun lyhyemmän riviä kohden. Valitse CRLF, kun toimituserittely tai vain Windowsilla toimiva työkalu pyytää sitä, ja huomaa, että valinta on tiedostokohtainen eikä yleinen: yksinään toimitettava tekstitystiedosto voi erota projektin muusta osasta.
Miksi CRLF:iksi muuntaminen muuttaa myös tekstitysten välissä olevaa tyhjää riviä?
Koska se tyhjä rivi on rivi, ja sen päätös on rivinvaihto kuten mikä tahansa muukin. SRT erottaa alaotsikot tyhjällä rivillä, joten CRLF:iksi muunnettu tiedosto, jonka alaotsikkoerottaja jäisi paljaaksi LF:ksi, sisältäisi yhden erilaisen rivinvaihdon yhdenmukaisen tiedoston keskellä — ja juuri se on se sekoitus, jonka poistamista varten tämä sivu on olemassa. Sama koskee tiedoston viimeistä riviä.
Muunnetaanko myös vanhat Macin vaununpalautukset?
Kyllä. Tiedosto, jonka rivit päättyvät paljaaseen vaununpalautukseen, Mac OS:n ennen OS X:ää käyttämään tyyliin, normalisoidaan muun mukana, joten se tulee ulos valitsemassasi tyylissä eikä jää yhdeksi pitkäksi alaotsikoksi. Paneelissa ei ole CR-vaihtoehtoa, koska kukaan ei enää kirjoita tiedostoja sillä tavalla, mutta jo sellaiset tiedostot luetaan ja kirjoitetaan oikein.