Altyazıya BOM ekle
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. UTF-8’de üç bayttır, EF BB BF, ve okuyucunun gördüğü ilk şeydir. Bu sayfanın çıktısında hiçbir şey farklı görünmez: aynı replikler, aynı zaman kodları, aynı satır sonları ve ilk repliğin önünde bir işaret.
Bunu neden isteyeceğiniz, işaretin bir dosyanın UTF-8 olduğunu söylemeden söyleme biçimi olmasıdır. Bir altyazı dosyasını açan program hangi kodlamada olduğunu tahmin etmek zorundadır ve pek çoğu — eski Windows oynatıcıları, disk yazım araçları, ilk satırı okuyan betikler — bütün dosyayı ayrıştırmayı denemek yerine ilk baytlara bakarak karar verir. Onlara işareti verin; aksanlı bir ad, kıvrık bir tırnak ya da bir Yunan harfi kendisi olarak çıkar. İşareti vermezseniz aynı dosya sistemin yerel kod sayfası olarak okunabilir ve o karakterler bambaşka bir şeye dönüşür.
Diğer yön, insanların genellikle önce karşılaştığı yöndür: işareti taşıyan bir dosyayı işaret beklemeyen bir araçla açmak. O araç üç baytı üç karakter olarak okur ve ilk satırın başında gösterir; birinin altyazı dosyasının tepesindeki o küçük simge bloğu da buradan gelir. Baktığınız şey buysa yanlış sayfadasınız: işaretin eklenmesi değil kaldırılması gerekir ve bunu yapan sayfa aşağıda bağlantılıdır.
Sayfanın yapmayacağı şey, dosyanızı yol boyunca yeniden biçimlendirmektir. CRLF satır sonlarına, replik numaralarına, zamanlamalara ya da herhangi bir repliğin metnine dokunmaz ve dosyanızın kodlamasına sizin yerinize karar vermez: UTF-8 olmayan bir dosya başka bir sorundur ve onun da bir sayfası vardır. Yaptığı şey, en öne tek bir karakter eklemektir ve karakter zaten oradaysa ikinci bir tane eklemek yerine dosyayı olduğu gibi bırakır; yani sayfayı iki kez çalıştırmak, bir kez çalıştırmakla aynı dosyayı verir.
İşaret indirdiğiniz dosyaya eklenir. Bu yüzden bu sayfadaki iki bölme göze aynı görünebilir — görünmez bir karakter tam olarak görünmez bir karaktere benzer — ve sonucu denetlemenin dürüst yolu, ilk üç bayta onaltılık bir görüntüleyicide ya da dosyanın kodlamasına düzenleyicinizin durum çubuğunda bakmaktır. Bu sitenin işlediği on iki altyazı formatının hepsi işaret taşıyabilir, çünkü işaret dosyanın açılış baytlarının özelliğidir ve replikler hakkında hiçbir şey bilmez. Hiçbir aşamada yükleme olmaz: dosya tarayıcınızın içinde okunur, değiştirilir ve yazılır.
Örnekler
Önünde işaret olan bir ASCII altyazı dosyası
Girdi
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.
Çıktı
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.
Beklenen metin görünmez bir karakterle başlıyor: U+FEFF, EF BB BF üç baytı, ilk replik numarasının 1 rakamından önce. İki bölme size aynı görünecek ve bu bir görüntüleme hatası değil — bu dosyalar arasındaki fark üç bayt uzunluğundadır ve hiçbirinin bir biçimi yoktur. Sonucu indirip kodlamayı gösteren bir düzenleyicide açın ya da ilk baytlara onaltılık bir görüntüleyicide bakın: gördüğünüz ilk şey odur.
Windows dosyası: işaret eklendi, satır başları korundu
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.
Bir Windows altyazı aracının yazdığı iki şey bir işaret ve CRLF satır sonlarıdır; bu yüzden karıştırılırlar, ama ayrıdırlar ve bu sayfa yalnızca birincisini yazar. Beklenen dosyadaki her satır başı girdinin kendisine aittir ve işaret onların önüne eklenir. Satır sonlarını da yeniden yazan bir sayfa, kendisine verilen her dosyayı sessizce yeniden biçimlendirirdi; bu da tam olarak aşağı akıştaki bir araç önemseyene kadar kimsenin fark etmediği türden bir değişikliktir.
İşareti zaten taşıyan bir dosya
Girdi
1
00:00:01,000 --> 00:00:02,000
Already marked.
Çıktı
1
00:00:01,000 --> 00:00:02,000
Already marked.
Girdide zaten bir işaret var, bu yüzden çıktı girdinin bayt bayt kendisidir: dosya tam olarak bir tane tutar. Bu sayfanın, var olanı önce kaldırmadan işaret yapıştıran saf sürümü iki işaret taşıyan bir dosya üretir; iki katına çıkmış bir işaret her düzenleyicide görünmezken açılış baytlarını okuyan her şey için farklı bir dosyadır. İşareti zaten taşıyan bir dosyada sayfayı çalıştırmak, üzerine düşünmeden yapabildiğiniz bir şey olmalı.
Sık sorulan sorular
Bir altyazı dosyasına bayt sırası işareti eklemek tam olarak neyi değiştirir?
Dosyanın en önünde tek bir karakteri: U+FEFF, UTF-8’de EF BB BF üç baytı olarak yazılır. Hiçbir replik eklenmez, kaldırılmaz ya da düzenlenmez, hiçbir zaman kodu kaymaz, replik numaraları ve satır sonları girdikleri gibi çıkar ve her satırın metni el sürülmemiş kalır. İki dosyayı karşılaştırırsanız farklı olan tek satır birincisidir ve başında üç bayt farklıdır.
BOM ekleme sayfasında iki bölme neden aynı görünür?
Çünkü eklenen karakterin bir biçimi yoktur. U+FEFF sıfır genişlikli bölünmez bir boşluktur, bu yüzden metni oynatıcınızın göstereceği gibi gösteren bir bölme öncesinde ve sonrasında aynı şeyi gösterir. Değişiklik gerçektir ve indirdiğiniz dosyadadır: fark ilk üç bayttır. Aramanız gereken yer metin değil, düzenleyicinizin kodlama göstergesi ya da başında EF BB BF gösteren onaltılık bir görüntüleyicidir.
BOM ekleme aracını aynı dosyada iki kez çalıştırmak güvenli mi?
Evet. Sayfa kendi işaretini yazmadan önce zaten var olan her işareti kaldırır, bu yüzden işaret taşıyan bir dosya değişmeden döner, taşımayan ise tam olarak bir tane alır. İki çalıştırma bir çalıştırmayla aynı dosyayı verir. Bu ayrıca, bu sayfadan ve ardından ikinci bir işaret ekleyen bir araçtan geçmiş bir dosyanın bir kez daha geçirilerek temizlenebileceği anlamına gelir, çünkü yalnızca biri hayatta kalır.
İşaret, dosyayı sonradan başka bir formata dönüştürürsem korunur mu?
Bu sitedeki dönüştürme sayfaları tarafından korunmaz, çünkü onlar işaretsiz düz UTF-8 yazar; yani burada eklenen işaret bir format değişikliğinden geçmez. İşi buna göre sıralayın: önce dönüştürün, işareti ise teslimden önceki son adım olarak ekleyin. Bu genel olarak da daha akıllıca bir sıradır, çünkü işaret altyazı içeriğinin değil tamamlanmış dosyanın özelliğidir.
Altyazıya işaret eklemek satır sonlarını değiştirir mi?
Hayır. İşaret dosyanın ilk baytının önüne konan tek bir karakterdir ve kendisinden sonra geleni etkilemez. CRLF ile dolu bir Windows dosyası CRLF ile dolu kalır, bir Unix dosyası LF ile kalır ve karışık satır sonlu bir dosya geldiği karışımla çıkar. Satır sonlarını değiştirmek başka bir sayfadır ve bir sayfanın sessizce ikisini birden yapması kötü bir fikirdir.
Hangi altyazı formatlarına bayt sırası işareti eklenebilir?
Bu sitenin işlediği on iki tanesinin hepsine: SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON ve CSV. İşaret altyazı formatıyla değil dosyanın açılış baytlarıyla ilgilidir, bu yüzden format özelinde doğru yapılacak bir şey yoktur; zaman çizelgesi bile olmayan düz bir transkript metni bile işaret taşıyabilir.