Siirry pääsisältöön
SubtitleMatrix

Poista BOM-merkki

Teksti ja tyyliMerkistökoodauksen ja BOM:n korjaus
Tai liitä tekstityksen teksti

Asetukset

BOM on kolme tavua aivan tiedoston alussa, jotka kertovat, mikä merkistökoodaus on käytössä. Se on näkymätön jokaisessa editorissa ja soittimessa, se ei vie tilaa ruudulta, eikä tekstityksissä muutu mikään, kun se lisätään tai poistetaan. Kahdenlaiset työkalut välittävät siitä: Windows-ohjelmat, jotka kirjoittavat tekstityksiä ja lisäävät sen oletuksena, ja käännösputkien tiukat jäsentimet, jotka hylkäävät sillä alkavan tiedoston. Tämä sivu avaa laatikon nimeämässään tilassa, joten voit kääntää sen, jos tiedostosi osoittautuu päinvastaiseksi. UTF-16-tiedostossa on aina BOM, koska sen avulla lukija tietää, kumpaa tavujärjestystä se katsoo — pyyntö poistaa se jätetään siinä tapauksessa huomiotta.

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ä.

Tavujärjestysmerkki on yksi merkki, U+FEFF, kaiken muun edessä tiedostossa. Monet työkalut kirjoittavat sen ja monet eivät odota sitä, ja ne jotka eivät odota näyttävät sen lyhyenä symboliryhmänä ensimmäisen alaotsikon alkuun liimautuneena. Tämä sivu ottaa sen pois ja jättää kaiken muun täsmälleen sellaiseksi kuin löysi.

Sen poistaminen on tärkeintä silloin, kun tiedosto lakkaa olemasta ihmisen luettavaa ja alkaa olla ohjelman jäsennettävää: tekstityksen käännösputket, tiedoston ensimmäisen rivin lukevat skriptit ja muodot, joiden määritys sanoo aloitustavujen olevan ensimmäisen alaotsikon ensimmäinen merkki. Sillä on väliä myös tiedostoja yhdistettäessä, koska merkki liitetyn tiedoston keskellä on merkki alaotsikon keskellä. Ja sillä on väliä toimituksessa: jos erittely, johon toimitat, sanoo UTF-8 ilman merkkiä, merkki on ero, jonka tarkistaja löytää.

Sivu ei päätä puolestasi mitään muuta. Alaotsikkonumerot, aikakoodit, alaotsikoiden teksti ja rivinvaihdot tulevat kaikki takaisin sellaisina kuin menivät sisään, CRLF mukaan lukien, ja tiedosto, jossa ei ollut merkkiä, tulee takaisin tavu tavulta sen sijaan että se kirjoitettaisiin uudelleen joksikin vastaavaksi. Merkin poistaminen ei ole sama asia kuin tiedoston merkistökoodauksen vaihtaminen, ja ne sekoitetaan usein: tämä sivu muuttaa tiedoston ensimmäistä merkkiä eikä mitään siinä, miten loppuosa on koodattu.

Yksi tapaus, jossa tämän sivun nimi ja se mitä todella tapahtuu erkanevat, kannattaa tietää ennen ajoa. UTF-16-tiedosto tarvitsee merkkinsä: ilman sitä kahta tavujärjestystä ei voi erottaa toisistaan, joten ilman merkkiä kirjoitettua UTF-16-tiedostoa ei voi lukea takaisin. Lähetä sellainen tämän sivun läpi, niin ladattavassa tiedostossa on yhä merkki, koska vaihtoehtona olisi tiedosto, jota kukaan ei voi avata. Jos tiedostosi on UTF-16 ja merkin on lähdettävä, haluat eri merkistökoodauksen etkä samaa ilman merkkiä, ja merkistökoodaukset muuntava sivu on linkitetty alle.

Merkki poistetaan tiedostosta, jonka lataat, joten kaksi ruutua voivat näyttää täällä identtisiltä — leveydetön merkki näyttää täsmälleen näkymättömältä merkiltä. Tarkista tulos editorisi merkistökoodausilmaisimesta tai heksakatselimesta: ilman merkkiä oleva tiedosto alkaa ensimmäisen alaotsikkonsa ensimmäisestä tavusta. Kaikki kaksitoista tämän sivuston käsittelemää muotoa kelpaavat SRT:stä pelkkään tekstitiedostoon, eikä mitään lähetetä: tiedosto luetaan, muutetaan ja kirjoitetaan selaimessasi.

Esimerkit

Merkitty tiedosto, josta merkki on otettu pois

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.

Syöte alkaa U+FEFF:llä eikä tuloste ala: tiedostot eroavat täsmälleen sen yhden merkin verran, ja siinä on koko toimenpide. Tässä tilassa olevat tiedostot tulivat yleensä Windowsin tekstitysohjelmasta, ja syy siihen, että ihmiset haluavat merkin pois, on käännösvaihe tai tiukka jäsennin, joka katsoo aloitustavuja alaotsikoiden sijaan.

Windows-tiedosto, merkki poistettuna ja vaununpalautukset säilytettyinä

Syöte

1
00:00:01,000 --> 00:00:02,000
Marked and Windows.

Tuotos

1
00:00:01,000 --> 00:00:02,000
Marked and Windows.

Vain merkki lähtee. Jokainen vaununpalautus on tiedoston oma eikä tällä sivulla ole niistä mielipidettä — se, joka haluaa molemmat muutetuiksi, haluaa rivinvaihtosivun, ja näiden kahden erottaminen pitää kummankin turvallisena ajaa tiedostolle, jota et ole avannut. Odotettu teksti pitää yhä CRLF:nsä täsmälleen kuten syöte.

Tiedosto ilman merkkiä, palautettu tavu tavulta

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.

Poistettavaa ei ollut, joten tiedosto tulee takaisin muuttumattomana — myös merkin puuttuminen säilyy. Tämä on se tapaus, joka paljastaa toteutuksen, joka kirjoittaa merkin ensin ja riisuu sen jälkeen, tai joka normalisoi tiedoston matkan varrella: rehellinen luenta lauseesta ”ei ollut mitään tehtävää” on syöte itse, tavu tavulta, eikä sen siistitty versio.

Usein kysytyt kysymykset

Miten tiedän, onko tekstitystiedostossani tavujärjestysmerkki?

Avaa se editorissa, joka näyttää tiedoston merkistökoodauksen: UTF-8-tiedosto, jossa on merkki, merkitään yleensä muotoon UTF-8 with BOM tai UTF-8 BOM eikä tavalliseksi UTF-8:ksi. Ellei se riitä, katso ensimmäisiä tavuja heksakatselimessa: EF BB BF:llä alkavassa tiedostossa on merkki, ja alaotsikon ensimmäisellä merkillä alkavassa ei ole. Symboliryhmä ensimmäisen rivin alussa on sama asia nähtynä ohjelmassa, joka luki merkin kolmena tavallisena merkkinä.

Miksi merkki jää UTF-16-tekstitystiedostoon sen poistamisen jälkeen?

Koska UTF-16-tiedosto tarvitsee sellaisen. UTF-16 tallentaa jokaisen merkin kahtena tavuna ja kaksi tavujärjestystä näyttävät ulospäin samalta, joten merkki kertoo lukijalle, kummassa järjestyksessä se on — ilman merkkiä olevaa UTF-16-tiedostoa ei voi lukea takaisin, ei tämä sivusto eikä mikään muukaan. Sivu pitää sen siitä syystä. Saadaksesi tiedoston, jossa ei ole merkkiä lainkaan, vaihda sen merkistökoodaus UTF-8:ksi tai Windows-1252:ksi, joissa merkki on valinnainen.

Vahingoittaako tämä sivu tekstitystiedostoa, jossa ei koskaan ollut merkkiä?

Ei. Sen tapauksen tuloste on syöte tavu tavulta, eikä siitä raportoida mitään. Sivun ajaminen tiedostolle, jonka tilasta et ole varma, on rakenteellisesti turvallista samasta syystä: kun poistettavaa merkkiä ei ole, ei ole mitään kirjoitettavaa, ja kun on, muutos on pienin mahdollinen. Ajo, joka ei löytänyt mitään tehtävää, ei ole ajo, joka teki jotain.

Voiko tekstitystiedostossa olla useampi kuin yksi tavujärjestysmerkki?

Voi, ja niin käy aina, kun työkalu lisää merkin tarkistamatta ensin, onko sellainen jo: toinen merkki tekee tiedostosta sellaisen, joka näyttää editorissa täysin normaalilta mutta eroaa normaalista tiedostosta aloitustavuissaan. Tämä sivu poistaa ne kaikki eikä yhtä, joten kaksinkertaisesti merkitty tiedosto siistiytyy yhdellä kierroksella eikä sivun ajaminen uudelleen muuta enää mitään.

Muuttaako merkin poistaminen tekstitystiedostoni merkistökoodausta?

Ei siinä merkityksessä kuin ihmiset yleensä tarkoittavat. Tiedoston teksti on yhä samat merkit ja sen loppuosa on yhä koodattu samalla tavalla; mikä muuttuu, on että lukijalla ei ole enää tiedoston aloitustavuja kertomassa sen merkistökoodausta. UTF-8-tiedosto ilman merkkiä on tavallista UTF-8:aa, jota useimmat työkalut muutenkin olettavat. Itse merkistökoodauksen vaihtaminen on erillinen sivu, johon on linkki täältä.

Tuleeko merkki takaisin, kun lataa tekstitystiedoston?

Ei. Lataus on hetki, jolloin tiedosto kirjoitetaan, ja tämän sivun ajo kirjoittaa sen ilman merkkiä, joten se mitä saat on se, mitä kaksi ruutua kuvaavat. Tiedoston kirjoitusmerkistö säilyy siitä, miten se luettiin, yhdellä poikkeuksella: UTF-16:na saapuva tiedosto kirjoitetaan takaisin UTF-16:na ja pitää merkkinsä, koska se merkki on rakenteellinen eikä koristeellinen.

Aiheeseen liittyvät työkalut