Lua中url的中文转码

local lua_util = {};

function lua_util.url_encode(str)
  if (str) then
    str = string.gsub (str, "\n", "\r\n")
    str = string.gsub (str, "([^%w ])",
        function (c) return string.format ("%%%02X", string.byte(c)) end)
    str = string.gsub (str, " ", "+")
  end
  return str	
end

function lua_util.url_decode(str)
  str = string.gsub (str, "+", " ")
  str = string.gsub (str, "%%(%x%x)",
      function(h) return string.char(tonumber(h,16)) end)
  str = string.gsub (str, "\r\n", "\n")
  return str
end

return lua_util;

### 在 IINA 播放器中启用和使用在线字幕功能 IINA 播放器支持加载外部字幕文件,并且可以通过在线资源获取字幕[^1]。要启用和使用在线字幕功能,可以通过以下方式进行操作: #### 启用在线字幕功能 IINA 支持通过网络加载字幕,例如从 OpenSubtitles 等在线字幕平台获取字幕文件。操作步骤如下: 1. 在播放视频时,点击播放器界面上的“字幕”按钮,或者使用快捷键调出字幕菜单。 2. 在字幕菜单中选择“下载字幕”选项,IINA 将会根据当前播放的视频自动搜索并下载匹配的字幕文件。 3. 下载完成后,字幕会自动加载并应用到当前视频中。 #### 手动加载在线字幕 如果自动下载功能未找到合适的字幕,也可以手动加载外部字幕文件: 1. 准备好需要加载的字幕文件(如 `.srt` 或 `.ass` 文件)。 2. 在播放视频时,点击“字幕”菜单,选择“加载外部字幕”,然后从文件浏览器中选择对应的字幕文件。 3. 加载后,字幕将显示在视频画面上。 #### 自定义字幕设置 在偏好设置中可以对字幕进行详细配置,包括字幕样式、字体大小、默认编码等: 1. 进入 IINA 的偏好设置界面,选择“字幕”选项卡。 2. 可以调整字幕字体、大小、颜色、背景透明度等外观参数。 3. 设置默认字幕编码格式,例如 UTF-8 或 GBK,以避免字幕乱码问题。 4. 启用“自动加载字幕”选项,IINA 将在播放视频时自动查找并加载同名的字幕文件。 #### 使用 MPV 脚本增强字幕功能 IINA 支持通过 mpv 脚本来增强字幕功能,例如实现自动翻译或字幕同步: 1. 创建脚本目录 `~/.iina/mpv/scripts`。 2. 将相关脚本文件(如 `autosub.lua` 或 `web-sub-downloader.lua`)放入该目录。 3. 重启 IINA 或重新加载配置后,脚本即可生效。 ### 示例脚本代码 以下是一个用于自动下载字幕的示例脚本配置: ```lua -- autosub.lua require 'mp.options' require 'mp.msg' require 'mp.utils' local o = { lang = 'en', provider = 'opensubtitles', auto_download = true } read_options(o, 'autosub') function download_sub() local path = mp.get_property('path') local sub_url = 'https://api.opensubtitles.org/xml-rpc' mp.msg.info('Attempting to download subtitles for ' .. path) end mp.register_event('file-loaded', download_sub) ``` ### 相关功能说明 IINA 的字幕功能不仅限于本地字幕文件,还支持多种网络字幕协议,例如 WebVTT 和 SSA/ASS 等格式。此外,用户还可以通过自定义脚本实现字幕翻译、自动搜索等功能。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值