ASS naar TXT
Of plak ondertiteltekst
Wat deze conversie verandert
6 dingen vervallen of vragen om een beslissing
- Timing
de hele tijdlijn (het uitvoerformaat legt helemaal geen tijden vast)
- Opmaak
alle opmaak (vet, cursief, kleur, contour, schaduw)
- Positionering
positionering op het scherm (elk blok keert terug naar de standaardpositie)
- Karaoke
karaoke-timing (markering per lettergreep)
- Regeleinden
regeleinden (blokken van meerdere regels worden tot één regel samengevoegd)
- Formaatspecifieke inhoud
inhoud die het bronformaat buiten zijn blokken bewaart (blokken die geen ondertitel zijn, koptekst, instellingen per blok, uitgecommentarieerde gebeurtenissen) — het doelformaat heeft er geen plek voor
Deze lijst komt uit de capaciteitenmatrix voor deze twee formaten, niet uit het bestand dat je hebt geladen. Een specifiek bestand kan meer verliezen wanneer het kenmerken gebruikt die het formaat toestaat maar de matrix niet modelleert.
Deze pagina haalt de timing en de opmaak uit een ASS-script en laat de woorden staan. TXT bewaart alleen tekst: geen cue-nummers, geen tijdstempels, geen kop en geen documentlaag. Wat overblijft, zijn de regels van je ondertitels in de volgorde waarin ze staan, klaar om te lezen of als vertaalbron te gebruiken.
Er gaat veel verloren. De timing verdwijnt volledig, want er is geen veld meer voor. Alle opmaak gaat eruit — cursief, vet, kleur, lettertype en rand hebben nergens te landen, en elke regel wordt platte tekst. Positie en karaoketiming verdwijnen ook. Van het script als geheel blijven alleen de Dialogue-regels over: het Script Info-blok, de stijltabel, de Comment-regels en de ingebedde lettertypen en afbeeldingen vallen weg.
Een blok van twee regels levert twee regels tekst op, maar de grens van het blok verdwijnt: je kunt achteraf niet meer zien welke regels bij elkaar hoorden. Dat is belangrijk als een vertaal- of hertimingslag het bestand daarna leest. Eén bestand of een hele serie, en niets wordt geüpload.
Voorbeelden
Een typisch ASS-bestand, omgezet naar TXT
Invoer
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Uitvoer
Hello there.
Italic and bold text.
Positioned
karaoke
Line one
Line two
Top left
In deze uitvoer verloren: timing, styling, positionering, karaoke, regeleinden en formaateigen inhoud. Al het andere komt regel voor regel overeen.
Dezelfde omzetting op een rommelige invoer
Invoer
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeUitvoer
Hello, world
{\fad(300,300)}Unmodelled override
Both, wrong order
One decimal centisecond
Soft
break
Zo zien echte bestanden eruit — gemengde regeleinden, losse spaties, lege velden. Vergelijk met het nette voorbeeld hierboven om te zien wat de parser vergeeft.
Veelgestelde vragen
Waar zijn de tijdstempels van ASS in TXT gebleven?
TXT heeft er geen: een tekstexport is woorden, geen momenten. De volgorde van de ASS-regels blijft behouden, dus de veertigste regel van je bestand is hier de veertigste regel, maar niets in de uitvoer zegt wanneer iets op het scherm verschijnt.
Wat gebeurt er met vet, cursief en kleur van ASS naar TXT?
TXT bewaart geen opmaak van welke soort dan ook, dus alles gaat eruit: cursief, vet, kleur, lettertype, rand en schaduw hebben nergens te landen, en elke regel wordt als platte tekst geschreven. De woorden zelf blijven onaangeroerd.
Wat gebeurt er met de positie op het scherm van ASS naar TXT?
Die verdwijnt volledig. TXT kent geen scherm en geen speler die iets plaatst, dus positie- en hoekcodes hebben geen betekenis meer en worden weggelaten. Wat overblijft is de tekst zelf, in leesvolgorde.
Wat gebeurt er met karaoketiming van ASS naar TXT?
De timing gaat weg, de woorden blijven. Karaoke zit in de codes die een ASS-event draagt en die markeren wanneer elke lettergreep oplicht; TXT kan geen moment binnen een regel vastleggen, dus de markeringen verdwijnen en de lettergrepen komen als gewone tekst aan.
Wat gebeurt er met een ASS-blok van twee regels in TXT?
Beide regels worden geschreven, de ene onder de andere, maar het bestand zegt niet meer dat ze bij elkaar horen: TXT kan regels niet tot één cue groeperen. Teruglezen zou dus twee ondertitels opleveren waar je ASS-bestand er één had.
Wat gebeurt er met het Script Info-blok en de rest van het script in TXT?
Alleen de Dialogue-regels worden ondertitels. Het Script Info-blok (de titel inbegrepen — TXT heeft er geen plek voor), de stijltabel, eventuele Comment-regels en alles wat in Fonts of Graphics is ingebed, vallen weg. Voor een script waarvan de styling met de hand is geschreven, is dat het verlies dat het meest opvalt.
Hoe ziet de TXT-uitvoer eruit als ASS wordt omgezet?
Als TXT: geen cue-nummers en geen tijdstempels — één regel tekst per regel ondertitel. Elke ASS-cue wordt één TXT-cue, in dezelfde volgorde, met dezelfde tekst.
Blijft de volgorde van ASS-blokken bewaard in TXT?
Ja, en ze worden onderweg op begintijd gesorteerd — vroegste eerst. Stond je ASS-bestand niet in tijdsorde, dan zet de TXT-uitvoer de regels terug in de juiste; dat is een structurele wijziging, geen inhoudelijke.
Kan ik de TXT daarna weer naar ASS omzetten?
Ja, maar die richting moet de timing verzinnen die TXT nooit heeft bewaard, en dat staat als verlies in het overzicht van die pagina. De stijltabel, de positie en de karaoketiming van het oorspronkelijke script komen ook niet terug.
Behoudt de TXT-uitvoer de tekencodering van het ASS-bestand?
Nee — de uitvoer is UTF-8, met Unix-regeleinden en zonder byte-order mark, wat het ASS-bestand ook gebruikte. Een bestand in UTF-16 of een Windows-eenbytecodering wordt bij het inlezen gedecodeerd; wat eruit komt is altijd dezelfde UTF-8-TXT.