แปลง ASS เป็น TXT
หรือวางข้อความคำบรรยาย
การแปลงนี้เปลี่ยนอะไร
6 อย่างถูกตัดทิ้งหรือต้องตัดสินใจ
- เวลา
ไทม์ไลน์ทั้งหมด (รูปแบบผลลัพธ์ไม่บันทึกเวลาเลย)
- รูปแบบ
รูปแบบตัวอักษรทั้งหมด (ตัวหนา ตัวเอียง สี เส้นขอบ เงา)
- ตำแหน่ง
ตำแหน่งบนหน้าจอ (ทุกคิวกลับไปยังตำแหน่งเริ่มต้น)
- Karaoke
จังหวะ Karaoke (ไฮไลต์ต่อพยางค์)
- การขึ้นบรรทัดใหม่
การขึ้นบรรทัดใหม่ (คิวหลายบรรทัดจะถูกเชื่อมเป็นบรรทัดเดียว)
- เนื้อหาที่เฉพาะกับรูปแบบ
เนื้อหาที่รูปแบบต้นทางเก็บไว้นอกคิว (บล็อกที่ไม่ใช่คิว ข้อความหัวไฟล์ การตั้งค่าต่อคิว เหตุการณ์ที่ถูกคอมเมนต์) — รูปแบบปลายทางไม่มีที่ให้เก็บ
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลงไฟล์ ASS เป็น TXT ในเบราว์เซอร์ ไม่มีการอัปโหลดและไม่ต้องมีบัญชี คุณลากไฟล์เดียวหรือทั้งฤดูกาลเข้ามาได้ คิวทำงานตามลำดับ ยกเลิกกลางทางได้ และดาวน์โหลดผลลัพธ์ทั้งหมดเป็น ZIP เดียว
ในทิศทางนี้สิ่งที่สูญหายคือเวลา สไตล์ การวางตำแหน่ง คาราโอเกะ การขึ้นบรรทัดใหม่ และเนื้อหาเฉพาะรูปแบบ รายการนี้มาจากสิ่งที่สองรูปแบบเก็บได้ ไม่ได้มาจากไฟล์ของคุณ จึงเป็นคำตอบเดิมก่อนคุณโหลดอะไร ส่วนข้อความและลำดับคิวยังอยู่ ผลลัพธ์เป็นไฟล์ข้อความธรรมดาที่เหลือเพียงคำ โดยไม่มีไทม์โค้ดและไม่มีเลขคิว
ตัวอย่าง
ไฟล์ ASS ทั่วไป แปลงเป็น TXT
ข้อมูลนำเข้า
[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
ผลลัพธ์
Hello there.
Italic and bold text.
Positioned
karaoke
Line one
Line two
Top left
มีข้อมูลสูญหายในผลลัพธ์นี้: เวลา สไตล์ การวางตำแหน่ง คาราโอเกะ การขึ้นบรรทัดใหม่ และเนื้อหาเฉพาะรูปแบบ ส่วนที่เหลือตรงกันทุกบรรทัด
การแปลง ASS เป็น TXT บนไฟล์ที่มีปัญหา
ข้อมูลนำเข้า
[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 timecodeผลลัพธ์
Hello, world
{\fad(300,300)}Unmodelled override
Both, wrong order
One decimal centisecond
Soft
break
ไฟล์จริงมักมีอาการแบบนี้ — การขึ้นบรรทัดใหม่แบบผสม ช่องว่างเกิน และฟิลด์ที่เว้นว่าง เทียบกับตัวอย่างแรกเพื่อดูว่าตัวแยกวิเคราะห์ยอมรับอะไรได้บ้าง
คำถามที่พบบ่อย
ไทม์โค้ดของ ASS หายไปไหนเมื่อแปลงเป็น TXT
TXT มีแต่ข้อความ ไม่มีที่สำหรับไทม์โค้ด ไทม์โค้ดของแต่ละ Dialogue ใน ASS จึงหายทั้งหมด ลำดับบรรทัดยังคงเดิม แต่ไม่มีอะไรบอกว่าบรรทัดไหนขึ้นจอเมื่อไร
ตัวหนา ตัวเอียง และสีจาก ASS ไปไหนเมื่อกลายเป็น TXT
TXT ไม่มีแนวคิดเรื่องสไตล์ แท็ก ASS เช่น {\i1} และสีจากตาราง Style จึงไม่มีที่ลง ทุกบรรทัดถูกเขียนเป็นข้อความล้วน โดยไม่แตะตัวอักษร
ตำแหน่งบนจอจาก ASS ไปไหนเมื่อแปลงเป็น TXT
TXT บอกไม่ได้ว่าคำบรรยายถูกวาดที่ไหน รหัส \pos, \an และ \move จึงถูกทิ้งตอนออกจาก ASS และทุกคิวกลับไปอยู่ตำแหน่งเริ่มต้นที่โปรแกรมเล่นเลือก — โดยมากคือกลางจอล่าง
เวลาคาราโอเกะจาก ASS ไปไหนเมื่อแปลงเป็น TXT
เวลาไป แต่คำอยู่ คาราโอเกะอยู่ในรหัส \k, \kf และ \ko ที่อีเวนต์ ASS พาไว้ ซึ่งบอกว่าแต่ละพยางค์สว่างเมื่อไร และ TXT ไม่มีวิธีบันทึกช่วงเวลาภายในบรรทัด เครื่องหมายจึงถูกถอดออกและพยางค์ออกมาเป็นข้อความ TXT ธรรมดา
คิว ASS ที่มีสองบรรทัดออกมาเป็นอย่างไรใน TXT
ทั้งสองบรรทัดถูกเขียนต่อกัน แต่ TXT ไม่มีโครงสร้าง cue ให้จับคู่กัน ตอนอ่านกลับจึงได้สองบรรทัดแยกกัน แทนที่จะเป็นหนึ่ง Dialogue ที่มีสองบรรทัดเหมือนใน ASS
ส่วน [Script Info] และส่วนอื่นของสคริปต์ ASS ไปไหนเมื่อกลายเป็น TXT
เฉพาะบรรทัด Dialogue กลายเป็นคำบรรยาย ส่วน [Script Info] (รวมชื่อเรื่อง ซึ่ง TXT ไม่มีที่เก็บ) ตารางสไตล์ บรรทัด Comment และสิ่งที่ฝังใน [Fonts] หรือ [Graphics] ถูกทิ้งทั้งหมด สำหรับไฟล์ ASS ที่เขียนสไตล์ด้วยมือ นี่คือความสูญหายที่เห็นชัดที่สุด
ผลลัพธ์มีหน้าตาอย่างไรเมื่อ ASS กลายเป็น TXT
หน้าตาแบบ TXT: ไฟล์ข้อความธรรมดาที่เหลือเพียงคำ โดยไม่มีไทม์โค้ดและไม่มีเลขคิว ทุกคิวของ ASS กลายเป็นหนึ่งคิว TXT ในลำดับเดิม ด้วยข้อความเดิม
ลำดับคิว ASS ยังเหมือนเดิมในผลลัพธ์ TXT หรือไม่
เหมือนเดิม และถูกเรียงตามเวลาเริ่มจากน้อยไปมากระหว่างทาง ซึ่งเป็นลำดับที่ทุกรูปแบบในเว็บนี้คาดหวังและโปรแกรมเล่นอ่าน ถ้าไฟล์ ASS เรียงคิวผิด ผลลัพธ์ TXT จะเรียงกลับให้ นั่นเป็นการเปลี่ยนโครงสร้างไฟล์ ไม่ใช่เนื้อหา และเป็นเจตนา
แปลง TXT กลับเป็น ASS ได้ไหม
ได้ และการแปลง TXT กลับเป็น ASS มีรายการสูญหายของตัวเอง: เวลาและความละเอียดของเวลา รายการนั้นต่างจากด้านบนเพราะสองรูปแบบเก็บข้อมูลต่างกัน
ไฟล์ TXT ที่แปลงจาก ASS ยังใช้ encoding เดิมหรือไม่
ไม่ ไฟล์ผลลัพธ์เป็น UTF-8 ใช้การขึ้นบรรทัดใหม่แบบ Unix และไม่มี byte-order mark ไม่ว่าไฟล์ ASS ต้นฉบับจะใช้ encoding อะไร ไฟล์ที่มาเป็น UTF-16 หรือ encoding ไบต์เดี่ยวแบบ Windows จะถูกถอดรหัสตอนอ่านเข้า และผลลัพธ์ออกมาเป็น TXT แบบ UTF-8 เหมือนกันทุกครั้ง