搜索 社区服务 统计排行 帮助
  • 4997阅读
  • 16回复

[原创]ASS转SRT脚本(更新,支持所有编码)(BUG修正)

楼层直达
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
由于看不惯subresync.exe转的SRT坐标乱伦
所以花了N小时搞定了这个

使用方法:
把下边的代码用记事本保存为.wsf
把要转换的ASS或SSA文件拖上来就是了

相对于subresync.exe的优点:
1,转换后保留{\pos(x,y)}
2,转换后保留Style Default

相对于subresync.exe的缺点
1,没有GUI
2,还有很多,等待你的弥补
3,...
4,...

注:输入输出文件均为utf-8
若要修改输入输出的为其他
用记事本打开,在3,4行找到
cInput和cOutput,
改成你想要的,如unicode,gb2312,big5
以及HKEY_CLASSES_ROOT\MIME\Database\Charset下的一切编码



如果不行,请去http://bbs.ktxp.com/read.php?tid=92214&page=e#a
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 16楼 发表于: 2005-06-27
发现一个小BUG
一次转多个文件的时候,
后边的文件不是从1开始
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 15楼 发表于: 2005-06-17
以上那些都可以在MSDN上找到的啊!
级别: 新手上路
注册时间:
2005-03-22
在线时间:
0小时
发帖:
34
只看该作者 14楼 发表于: 2005-06-16
没有教材 郁闷! 程序一看就懂 可是没有语法呵函数接口指南啊
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 13楼 发表于: 2005-06-16
用ADO读文件:

with createobject("adodb.stream")
.Open
.Charset="utf-8"
.LoadFromFile("a.txt")
msgbox .readtext
end with

理论上可以支持HKEY_CLASSES_ROOT\MIME\Database\Charset下所有编码

就是有个缺点,不能readline……
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 12楼 发表于: 2005-06-16
在GOOGLE上找到一个代码可以写UTF-8文件
吓了一跳!

with createobject("adodb.stream")
.Type=2
.Open
.Charset="utf-8"
.WriteText "a"
.savetoFile "a.txt"
end with

有空研究一下adodb.stream
相传他可以从网上下载文件……
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 11楼 发表于: 2005-06-16
引用
最初由 weilai 发布


^^
您可以試試
用我寫的加密腳本
用一份 UTF-8 試試 (Unicode 也通)
會形成一個 ANSI 的加密文件 (Unicode 的源會變出一個 Unicode 的加密文件)
再用解密腳本

ANSI 的加密文件 會還原成 UTF-8 文件 (用FC 比較,結果當然是一模一樣)
(Unicode 的加密文件 會還原成 Unicode 文件,結果也是...)

所以 UTF-8 不是不可能的
至於要則麼做
您可以研究一下

UTF-8话,您的脚本将会用ANSI的方式打开(因为UTF-8格式的英文字符和ANSI一样吧)
然后,就进行加密,不管里边的中文是如何的乱码
解迷的时候也解成乱码写进去
所以还是可以支持UTF-8的
因为您的脚本不需要对乱码解析

而我的脚本需要对乱码解析……
如今我也觉得是可能的,
但是看似工程量十分浩大!

我试试看吧……
级别: 风云使者
注册时间:
2005-01-23
在线时间:
0小时
发帖:
4703
只看该作者 10楼 发表于: 2005-06-14
多谢

不过这样的工具在网上已经有很多了吧
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 9楼 发表于: 2005-06-13
恩……我更喜欢用php命令行来写小脚本
不管是正规表达式还是文件输入输出或者是iconv,都是相当方便的……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 工作组
注册时间:
2004-11-18
在线时间:
0小时
发帖:
435
只看该作者 8楼 发表于: 2005-06-13
引用
最初由 kutinasi 发布


popsub不会去转STR坐标之类的, 统统忽略

原来如此.
我也去试试 下.
辛苦辛苦^^b




级别: 工作组
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2314
只看该作者 7楼 发表于: 2005-06-13
引用
最初由 V1046-R 发布
POPSUB直接转= =b


popsub不会去转STR坐标之类的, 统统忽略
级别: 版主
注册时间:
2002-12-02
在线时间:
0小时
发帖:
3002
只看该作者 6楼 发表于: 2005-06-13
引用
最初由 小飞 发布
上边的脚本很是受教,已经研究并保存

另,想让VBS支持UTF-8真是比登天还难....
谁叫Script的输入只支持ANSI和UNICODE的文本呢,还有个DEFAULT等于没有.
如果不能BIN输入的话要支持UTF-8是不可能的,我想
即使再怎么用AscB、MidB、LenB也没办法,

只能等M$把WSH升到6.0了吧....


^^
您可以試試
用我寫的加密腳本
用一份 UTF-8 試試 (Unicode 也通)
會形成一個 ANSI 的加密文件 (Unicode 的源會變出一個 Unicode 的加密文件)
再用解密腳本

ANSI 的加密文件 會還原成 UTF-8 文件 (用FC 比較,結果當然是一模一樣)
(Unicode 的加密文件 會還原成 Unicode 文件,結果也是...)

所以 UTF-8 不是不可能的
至於要則麼做
您可以研究一下

级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 5楼 发表于: 2005-06-12
后记:
第一次用JS和VBS混写脚本
感觉还真不错

用JS写正则很是方便
用VBS写文件输入输出是很顺手
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 4楼 发表于: 2005-06-12
另另: DVD字幕如果是文本文件的话理论上用脚本也可以转,但是……

关于POPSUB问题
之前不知道嘛,
反正写都写好了,
不发也浪费,
即使发了也浪费!
级别: 新手上路
注册时间:
2005-01-12
在线时间:
0小时
发帖:
15
只看该作者 3楼 发表于: 2005-06-12
上边的脚本很是受教,已经研究并保存

另,想让VBS支持UTF-8真是比登天还难....
谁叫Script的输入只支持ANSI和UNICODE的文本呢,还有个DEFAULT等于没有.
如果不能BIN输入的话要支持UTF-8是不可能的,我想
即使再怎么用AscB、MidB、LenB也没办法,

只能等M$把WSH升到6.0了吧....
快速回复

限150 字节
上一个 下一个