Bahasa Melayu

Video & sari kata · Kit Alat Sari kata

Maksud 'membersihkan' fail sari kata: teg, kod dan pemformatan sesat

· Bagaimana ia berfungsi

sari kata pemprosesan teks format fail

Baris sari kata yang membawa teg kurungan sudut dan kod pendakap di atas baris yang sama dikurangkan kepada perkataan biasa
Ilustrasi vektor ToolAcre asal

Fail sari kata mengumpul sampah: teg seperti HTML, kod penggayaan daripada format lain, BOM sesat dan penghujung baris bercampur. Siaran ini menerangkan tentang setiap jenis kekacauan, dari mana ia datang dan cara langkah yang bersih menghilangkannya tanpa menyentuh perkataan.

Kapsyen memaparkan '{\an8}' dan '<i>' pada skrin — simptom yang boleh dilihat bagi fail sari kata yang tidak bersih

Apabila kapsyen memaparkan watak tag dan bukannya mematuhinya, pemain memberitahu anda ia tidak melaksanakan penanda itu. SRT tidak mempunyai spesifikasi pemformatan, jadi sokongan adalah konvensional: ramai pemain menghormati set kecil teg seperti HTML dan apa-apa sahaja di luar set itu dilukis sebagai teks literal. Fail yang dipaparkan dengan betul dalam satu pemain dan menunjukkan pendakap pada pemain lain tidak berubah; sahaja set tag yang dihormati mempunyai.

Inilah sebabnya mengapa pembersihan adalah operasi sebenar dan bukannya pengemasan kosmetik. Yang bersepah bukan hiasan yang kebetulan jelek. Ia adalah arahan yang ditulis untuk satu format yang dibaca oleh pemain lain sebagai dialog, dan penyelesaiannya adalah untuk mengalih keluar arahan sambil membiarkan setiap perkataan tetap utuh.

Dari mana kekacauan itu datang — eksport daripada format gaya berat, OCR output dan editor yang menambah penanda mereka sendiri

Kebanyakan kekacauan datang melalui penukaran. Fail yang dikarang dalam format gaya berat seperti ASS atau SSA membawa arahan kedudukan dan penampilan sebaris, dan penukar yang memetakan pemasaan dengan setia selalunya akan menghantar arahan tersebut sebagai teks. Editor kapsyen menambah penanda mereka sendiri untuk pengenalpastian dan penekanan pembesar suara, dan pengecaman aksara optik bagi sari kata terbakar memperkenalkan tanda baca sesat dan ruang berganda yang tidak ditaip oleh pengarang.

Tiada satu pun daripada sumber ini cacat dalam dunia mereka sendiri. Blok ASS override bermakna dalam ASS. Masalahnya ialah SRT tidak mempunyai persamaan, jadi penukaran yang kelihatan tanpa kerugian menghasilkan fail di mana arahan itu kekal sebagai aksara dan bukannya sebagai tingkah laku.

Memformat teg — italik, tebal dan teg fon, yang dihormati pemain dan yang menunjukkannya secara literal

Teg kurungan sudut dikendalikan terlebih dahulu, dengan ungkapan biasa yang mengalih keluar segala-galanya antara kurang daripada dan lebih besar seterusnya. Itu meliputi teg condong dan tebal, teg kelas WebVTT seperti anotasi kelas isyarat dan teg suara yang menamakan pembesar suara. Sifat penting ialah ini ialah penggantian teks, bukan penghurai HTML dan ia tidak cuba memadankan teg pembuka dengan tag penutup.

Kesederhanaan itu mempunyai kos yang patut diketahui. Baris dialog yang benar-benar mengandungi kurang daripada dan lebih besar, seperti ketaksamaan yang dituturkan, akan menyebabkan teks di antaranya dialih keluar bersama kurungan. Ia jarang berlaku dalam dialog dan biasa dalam kapsyen teknikal, jadi anda patut mengimbas keluaran pas pembersihan pada bahan yang membincangkan kod atau matematik.

Kedudukan dan kod gaya — apakah maksud kod seperti {\an8} dalam ASS/SSA dan sebab ia adalah hingar dalam SRT

Kod pendakap dialih keluar dengan penggantian kedua yang meliputi segala-galanya antara pendakap pembukaan dan penutup. Dalam format SubStation, ini adalah blok mengatasi, dan yang paling kerap dilihat ialah yang menggerakkan garisan ke bahagian atas bingkai supaya ia tidak bertembung dengan teks yang dibakar. Yang lain menetapkan masa fon, warna, putaran atau karaoke.

Dalam fail SRT tiada satu pun daripadanya bermakna apa-apa, itulah sebabnya ia dialih keluar dan bukannya diterjemahkan. Arahan kedudukan tidak mempunyai SRT yang setara untuk diterjemahkan ke dalam: format tidak mempunyai peletakan. Mengalih keluar kod kehilangan niat pengarang bahawa garis harus berada di bahagian atas bingkai, dan kehilangan itu adalah nyata, tetapi lebih baik untuk mencetak kod kepada penonton.

Kekacauan yang tidak kelihatan — tanda tertib bait, penghujung baris CRLF dan LF bercampur dan ruang belakang

Kekacauan yang tidak kelihatan dikendalikan lebih awal, semasa menghurai, dan ia patut dipisahkan kerana ia bukan sebahagian daripada teks sama sekali. Tanda pesanan bait pada permulaan fail dilucutkan sebelum apa-apa lagi, kerana jika tidak, ia melekat pada nombor indeks pertama dan kos isyarat pertama. Pemulangan pengangkutan dinormalkan, kedua-dua pasangan Windows dan pemulangan tunggal, jadi fail yang diedit pada dua platform terbahagi kepada blok dengan betul.

Ruang kosong di dalam isyarat dikendalikan dengan tag. Larian dua atau lebih ruang atau tab runtuh kepada satu ruang, setiap baris dipangkas secara individu dan kiu secara keseluruhan dipangkas selepas garisan itu dicantumkan semula. Entiti watak sengaja dibiarkan bersendirian: entiti ampersand adalah kandungan yang harus dilihat oleh penonton, bukan penanda dan pembersih yang menyahkodnya akan mengedit dialog dan bukannya mengalih keluar arahan.

Contoh yang berjaya: membersihkan 200-kiu eksport — perkara yang berubah, perkara yang kekal dan cara menyemak hasilnya

Pembersihan eksport besar berubah kurang daripada yang kelihatan. Ambil dua ratus fail kiu di mana penukar telah menetapkan awalan kod bingkai atas kepada enam puluh isyarat dan membalut tag penekanan sekitar empat puluh lagi. Kedua-dua penggantian mengalih keluar kod dan teg, laluan ruang kosong meruntuhkan ruang berganda yang ditinggalkan oleh pengalihan keluar, dan dua ratus isyarat menjadi dua ratus isyarat dengan perkataan yang sama dan pemasaan yang sama.

Dua langkah lagi penting. Kiu yang keseluruhan kandungannya ialah kod sesat menjadi kosong selepas kod itu hilang, dan isyarat kosong dialih keluar dalam laluan yang berasingan dan bukannya dipancarkan sebagai blok kosong, kerana isyarat dengan cap masa dan tiada teks ialah jurang yang dibuat oleh sesetengah pemain sebagai kilat. Menulis fail kembali menomborkan semula isyarat daripada satu dan mengekalkannya bersebelahan, jadi pengalihan keluar tidak meninggalkan lubang dalam urutan. Semak keputusan dengan membandingkan kiraan kiu dan semakan spot mana-mana baris yang asalnya mengandungi entiti.

Perkara yang tidak dilindungi ini — menulis semula teks itu sendiri, ejaan atau terjemahan; kata-kata itu milik anda

Pembersihan menghilangkan penanda dan tidak menyentuh bahasa. Ia tidak membetulkan ejaan, mengembangkan singkatan, membetulkan ralat transkripsi atau menterjemah. Jika kapsyen menyebut perkataan yang salah, ia akan menyebut perkataan yang salah selepas itu, diformat dengan betul. Sempadan itu disengajakan: alat yang menulis semula dialog secara senyap adalah mustahil untuk dipercayai pada bahan yang tidak difahaminya.

Ia juga tidak membaiki struktur. Fail yang bloknya tidak mempunyai cap masa mempunyai masalah penghuraian, bukan pemformatan, dan mengalih keluar teg daripadanya tidak akan menghasilkan isyarat. Kesilapan pengekodan juga di luar skop. Fail yang dinyahkodkan dengan set aksara yang salah menghasilkan isyarat yang dibentuk dengan sempurna yang teksnya salah, dan tiada jumlah pengalihan teg mengesannya, kerana tiada apa-apa tentang struktur yang rosak.

Bawa pulang: alih keluar markup, kekalkan makna — cara langkah bersih Kit Sari kata menangani kekusutan biasa dan mendokumenkan perkara yang ditinggalkan begitu sahaja

Peraturannya ialah alih keluar markup, kekalkan makna. Teg kurungan sudut dan kod pendakap pergi kerana ia adalah arahan yang diabaikan atau dicetak oleh pemain. Ruang berganda dan pelapik setiap baris pergi kerana ia adalah artifak penyingkiran atau eksport asal. Entiti, tanda baca dan setiap perkataan kekal, kerana itulah yang dimaksudkan untuk dibaca oleh penonton.

Jalankan eksport teg-berat melalui penukar Kit Alat Sari kata dan bandingkan dengan yang asal dan bukannya mempercayai output sepintas lalu. Sahkan kiraan kiu tidak berubah kecuali jika isyarat benar-benar kosong, semak bahawa mana-mana baris yang mengandungi entiti masih mengandunginya dan imbas baris yang membincangkan kod atau matematik untuk teks yang hilang kepada kurungan sudut sesat.