Ana içeriğe geç
SubtitleMatrix

Altyazıdan BOM’u kaldır

Metin ve stilKodlamayı ve BOM’u düzelt
Ya da altyazı metnini yapıştırın

Seçenekler

BOM dosyanın en başındaki, kodlamanın hangisi olduğunu yazan üç bayttır. Her düzenleyicide ve oynatıcıda görünmez, ekranda yer kaplamaz ve eklenip çıkarıldığında altyazılarda hiçbir şey değişmez. İki tür araç onu önemser: altyazı yazan ve varsayılan olarak koyan Windows programları ile derleme hatlarında BOM’la başlayan bir dosyayı reddeden katı ayrıştırıcılar. Bu sayfa kutuyu başlığının adlandırdığı durumda açar, böylece dosyanız tersi çıkarsa çevirebilirsiniz. UTF-16’daki bir dosya her zaman BOM taşır, çünkü okuyucu iki bayt sırasından hangisine baktığını böyle bilir — orada kaldırma istemek onu yerinde bırakır.

Zamanlamaların hangi kare hızında sayıldığı. Format sayfalarında MicroDVD’nin ihtiyaç duyduğu şey budur, çünkü zamanlamayı kare numarası olarak saklar. Kare hızı sayfalarında ise dosyanın hangi hıza göre zamanlandığı — altyazının hazırlandığı sürüm — ve sayfanın ikinci kutusu altyazıyı birlikte kullanacağınız videonun hızını alır. 23,976, 24, 25, 29,97, 30, 50, 59,94 ve 60 yaygın olanlardır. Yanlış vermek tüm zaman çizelgesini kaydırır; kare hızı sayfalarında ise sabit bir miktar yerine bir oran kadar kaydırır.

Bayt sırası işareti tek bir karakterdir — U+FEFF — ve dosyada her şeyin önünde durur. Pek çok araç onu yazar, pek çok araç da onu beklemez; beklemeyenler onu ilk repliğin başına yapışmış kısa bir simge bloğu olarak gösterir. Bu sayfa onu kaldırır ve geri kalan her şeyi bulduğu gibi bırakır.

Kaldırmanın en çok önem taşıdığı yer, dosyanın bir insanın okuduğu şey olmaktan çıkıp bir programın ayrıştırdığı şey olmaya başladığı yerdir: altyazı derleme hatları, bir dosyanın ilk satırını okuyan betikler ve şartnamesi açılış baytlarının ilk repliğin ilk karakteri olduğunu söyleyen formatlar. Dosyalar birleştirildiğinde de önemlidir, çünkü birleştirilmiş bir dosyanın ortasındaki işaret, bir repliğin ortasındaki karakterdir. Teslim için de önemlidir: teslim edeceğiniz şartname işaretsiz UTF-8 diyorsa işaret, denetleyicinin bulacağı bir farktır.

Sayfanın yapmayacağı şey sizin yerinize başka bir şey kararlaştırmaktır. Replik numaraları, zaman kodları, replik metni ve satır sonları girdikleri gibi çıkar, CRLF dahil; işareti olmayan bir dosya ise eşdeğer bir şeye yeniden yazılmak yerine bayt bayt geri gelir. İşareti kaldırmak, bir dosyanın karakter kodlamasını değiştirmekle aynı şey değildir ve ikisi sık karıştırılır: bu sayfa dosyanın ilk karakterini değiştirir ve geri kalanın nasıl kodlandığına hiç dokunmaz.

Bu sayfanın başlığıyla gerçekte olanın ayrıldığı bir durum var ve çalıştırmadan önce bilmeye değer. UTF-16 dosya işaretine ihtiyaç duyar: o olmadan iki bayt sırası birbirinden ayırt edilemez, bu yüzden işaretsiz yazılmış bir UTF-16 dosyası geri okunamaz. Böyle bir dosyayı bu sayfadan geçirirseniz indirilen dosya yine işaret taşır, çünkü alternatif kimsenin açamayacağı bir dosya olurdu. Dosyanız UTF-16 ise ve işaretin gitmesi gerekiyorsa istediğiniz şey aynı kodlama değil başka bir kodlamadır ve kodlamaları dönüştüren sayfa aşağıda bağlantılıdır.

İşaret indirdiğiniz dosyadan kaldırılır, bu yüzden iki bölme burada aynı görünebilir — sıfır genişlikli bir karakter tam olarak görünmez bir karaktere benzer. Sonucu düzenleyicinizin kodlama göstergesinde ya da onaltılık bir görüntüleyicide denetleyin: işareti olmayan bir dosya ilk repliğinin ilk baytıyla başlar. Bu sitenin işlediği on iki formatın hepsi, SRT’den düz bir transkript metnine kadar kabul edilir ve hiçbir şey yüklenmez: dosya tarayıcınızın içinde okunur, değiştirilir ve yazılır.

Örnekler

İşaretli bir dosya, işaret çıkarılmış

Girdi

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

Çıktı

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

Girdi U+FEFF ile başlıyor, çıktı başlamıyor: iki dosya tam olarak o tek karakter kadar farklı ve işlemin tamamı bu. Bu durumdaki dosyalar genellikle bir Windows altyazı programından çıkar ve insanların işareti istememesinin nedeni, repliklere değil açılış baytlarına bakan bir derleme adımı ya da katı bir ayrıştırıcıdır.

Windows dosyası: işaret kaldırıldı, satır başları korundu

Girdi

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

Çıktı

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

Yalnızca işaret gidiyor. Her satır başı dosyanın kendisine aittir ve bu sayfanın onlar hakkında bir görüşü yoktur — ikisinin de değişmesini isteyen satır sonu sayfasını ister ve ikisini ayrı tutmak, her birini açmadığınız bir dosyada çalıştırmayı güvenli kılan şeydir. Beklenen metin CRLF’lerini girdinin yaptığı gibi korur.

İşareti olmayan dosya, bayt bayt geri dönüyor

Girdi

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

Çıktı

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

Kaldırılacak bir şey yoktu, bu yüzden dosya değişmeden geri geliyor — işaretin yokluğu dahil. Bu durum, önce işaret yazıp sonra soyan bir uygulamayı ya da dosyayı yol boyunca normalleştiren bir uygulamayı yakalayan durumdur: kaldırılacak bir şey yoktu ifadesinin dürüst okuması girdinin kendisidir, onun derli toplu bir sürümü değildir.

Sık sorulan sorular

Altyazı dosyamda bayt sırası işareti olup olmadığını nasıl anlarım?

Dosyayı kodlamayı gösteren bir düzenleyicide açın; işaretli bir UTF-8 dosyası genellikle düz UTF-8 değil BOM’lu UTF-8 ya da UTF-8 BOM olarak etiketlenir. Bunlar yoksa ilk baytlara onaltılık bir görüntüleyicide bakın: EF BB BF ile başlayan bir dosya taşır, repliğin ilk karakteriyle başlayan taşımaz. İlk satırın başındaki simge bloğu, işareti üç sıradan karakter olarak okuyan bir programın gördüğü aynı şeydir.

UTF-16 altyazı dosyasından işareti kaldırdıktan sonra neden işaret kalıyor?

Çünkü bir UTF-16 dosyası ona ihtiyaç duyar. UTF-16 her karakteri iki bayt olarak saklar ve iki bayt sırası dışarıdan birbirine benzer, bu yüzden hangi sırada olduğunu okuyucuya söyleyen şey işarettir — işaretsiz bir UTF-16 dosyası ne bu site ne de başka bir şey tarafından geri okunamaz. Üzerinde bulunduğunuz sayfa bu nedenle onu tutar. Hiç işaret taşımayan bir dosya elde etmek için kodlamasını UTF-8 ya da Windows-1252 olarak değiştirin; oralarda işaret isteğe bağlıdır.

Bu sayfa hiç işareti olmayan bir altyazı dosyasına zarar verir mi?

Hayır. O durumun çıktısı girdinin bayt bayt kendisidir ve onun için hiçbir şey bildirilmez. Sayfayı durumundan emin olmadığınız bir dosyada çalıştırmak da aynı nedenle yapısı gereği güvenlidir: kaldırılacak işaret yoksa yazılacak bir şey yoktur, varsa da olabilecek en küçük değişiklik yapılır. Yapacak bir şey bulamayan bir çalıştırma bir şey yapmış bir çalıştırma değildir.

Bir altyazı dosyasında birden fazla bayt sırası işareti olabilir mi?

Evet ve bu, bir araç önce var olanı denetlemeden işaret eklediğinde olur — ikinci işaret, bir düzenleyicide tamamen normal görünen ama açılış baytlarında normal bir dosyadan ayrılan bir dosya yapar. Bu sayfa bir tanesini değil hepsini kaldırır, bu yüzden iki işaretli bir dosya tek geçişte temizlenir ve sayfayı yeniden çalıştırmak başka bir şeyi değiştirmez.

İşareti kaldırmak altyazı dosyamın kodlamasını değiştirir mi?

İnsanların genellikle kastettiği anlamda değiştirmez. Dosyanın metni hâlâ aynı karakterlerdir ve geri kalanı hâlâ aynı biçimde kodlanmıştır; değişen, okuyucunun artık kodlamayı söyleyen açılış baytlarına sahip olmamasıdır. İşaretsiz bir UTF-8 dosyası sıradan UTF-8’dir ve çoğu araç zaten onu varsayar. Kodlamanın kendisini değiştirmek ayrı bir sayfadır ve buradan bağlantılıdır.

Altyazı dosyasını indirdiğimde işaret geri gelir mi?

Hayır. Dosyanın yazıldığı an indirmedir ve bu sayfanın bir çalıştırması onu işaretsiz yazar, yani aldığınız şey iki bölmenin anlattığı şeydir. Bir dosyanın yazıldığı kodlama okunduğu biçimden korunur, tek bir istisnayla: UTF-16 olarak gelen bir dosya UTF-16 olarak geri yazılır ve işaretini tutar, çünkü o işaret süs değil yapısaldır.

İlgili araçlar