首页 > 解决方案 > 在音乐播放列表中的 urlencoded 链接字符串中使用 html 实体与符号 (&) 和撇号 (') 是否合法?

问题描述

我正在对 *.m3u8 和 *.xspf 播放列表中的歌曲链接进行 urlencoding。老实说,我不相信没有 bom的 'utf-8'可以保留非 ascii 字符,尤其是在链接中。我也有一些 *awkward* 特殊字符,例如,在歌曲标题中的方括号。对于 *.m3u8 文件,添加 BOM 会带来问题,因为许多使用的 VLC 播放器(在 Windows 上)将标记读取为轨道 0 并弹出错误。

所以没有BOM ...

播放列表中的链接是 urlencoded。我手动执行此操作,或者批量处理 *.m3u8 文件。Spiff *.xspf 格式的播放列表手动操作要困难一些。幸运的是,VLC 从 *.m3u8 列表中导出现成的 *.xspf 列表。还有 urlencoded 链接。(我认为,没有 BOM 的 Unicode 对于媒体播放器来说太不可靠了。)我注意到的是:

编码字符 & 和 ' 分别被&渲染'。通过 VLC。链接在播放器中有效,从 *.m3u8 和 *.xspf 打开,但 VLC 是否出错?现在有成千上万的媒体播放器。有些人可能会选择不阅读&as%26'as %27。播放列表的最佳做法是什么?有没有最佳实践,一个统计公式?VLC 是如何决定实现 html 实体而不是 urlencoded 的?

&将所有实例转换为'正确的 urlencoded 值是很诱人的。

我希望有人也有此功能的经验并可以提供一个很好的答案。

我的暂定是“是的,urlencode & 和撇号”。请注意,VLC 可能会针对一些额外的字符。我不知道。也许,问号,美元符号——我不知道。(标题中没有带有 $ 或 ? 的歌曲来测试 VLC。)我正在使用 VLC 3.0.11 Vetinari,但顺便说一下,Windows 10。从对晦涩的论坛的研究来看,我的印象是 VLC 切换到 urlencoding 生成的播放列表链接到曲目默认情况下在版本 3 中。在链接未以 UTF-8 编码之前,即。*.m3u8,文件,我想。

下面是正确的代码:

# | %23
$ | %24
% | %25
& | %26
' | %27
( | %28*
) | %29*
* | %2A
+ | %2B*
, | %2C*
- | %2D*
. | %2E*
/ | %2F*

? | %3F

我已经在我的播放列表中按原样保留*未转换*的星号。方括号%5B%5D必须是 urlencoded,否则会破坏链接。

标签: unicodevlcurlencodeentitiesplaylist

解决方案


推荐阅读