首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript生成.SRT文件

JavaScript生成.SRT文件
EN

Stack Overflow用户
提问于 2018-05-08 09:52:44
回答 1查看 1.6K关注 0票数 3

我制作了一个脚本在浏览器中编辑我的字幕。而不是在文本编辑器等。所以我做了所有事情,我已经到了最后阶段,当我点击“保存”按钮下载我编辑的版本时,我的浏览器会像预期的那样自动下载SRT文件,但是副标题显示为“小方块”,而不是我写和编辑的阿拉伯文本。

我在VLC视频播放器上看到的情况:

我的SRT文件里有:

代码语言:javascript
复制
1
00:00:05,796 --> 00:00:06,888 
چیرۆكم پێ بڵێ

2
00:00:07,048 --> 00:00:08,265 
چیرۆكم پێ بڵێ

3
00:00:08,424 --> 00:00:09,846 
چیرۆكم پێ بڵێ

用于生成编辑版字幕的代码:

代码语言:javascript
复制
    // Function to download data to a file
function download(data, filename, type) {
    var file = new Blob([data], {type: type});
    if (window.navigator.msSaveOrOpenBlob) // IE10+
        window.navigator.msSaveOrOpenBlob(file, filename);
    else { // Others
        var a = document.createElement("a"),
                url = URL.createObjectURL(file);
        a.href = url;
        a.download = filename;
        document.body.appendChild(a);
        a.click();
        setTimeout(function() {
            document.body.removeChild(a);
            window.URL.revokeObjectURL(url);  
        }, 0); 
    }
}

然后:

代码语言:javascript
复制
download(all_str,"anyth.srt","text/html")

字符串all_str是我编辑的字幕的新版本。都用新行分隔开,就像文本编辑器版本一样。

字幕使用英语和阿拉伯语以外的其他语言。

我为解决这个问题所做的事情:

  • text/html改为text/plaintext/plain utf-8text/plain charset=utf-8,但没有工作
  • 将VLC播放器的编码类型从通用更改为utf8,但没有工作

我认为这与编码类型有关,是我漏掉的还是不知道的?请告诉我

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-08 11:25:07

你做的一切都是正确的,但是我们目前的大多数操作系统都运行在Windows1256上。我已经用这个unicode测试了您的代码,它可以使用阿拉伯语和波斯语:

只要改变:

代码语言:javascript
复制
text/plain;charset=windows-1256
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50230775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档