vlc http接口文件路径编码

时间:2011-08-08 18:22:06

标签: javascript encoding vlc

我几乎已经解决了这个问题,但是我正在VLC http界面上构建一个遥控器,但我在编码&符号时遇到了问题。

例如,我得到的文件名看起来像

C:\Users\Me\Music\Library\I Need a Doctor feat(Eminem & Skylar Grey)

但是当我转义时,VLC得到的文件名为

C:\Users\Me\Music\Library\I Need a Doctor feat(Eminem

我该怎么做才能解决这个问题?

我的伪JavaScript:

function escapePath(string){
    var fixed = "";
for(var i = 0; i < string.length; i++){
    if(string[i] == "\\"){
        fixed += "\\\\";
    }
    else if(string[i] == "&"){
        fixed += "%26"; // Doesn't work with or without this
    }
    else{
        fixed += string[i];
    }
}
    return encodeURIComponent(fixed);
}

我知道这很糟糕,但我无法让.replace()正常工作。诅咒我对正则表达式的可怕知识。我稍后会解决这个问题

1 个答案:

答案 0 :(得分:0)

感谢Marc B.它进行了一些调整。

最终的功能最终看起来像:

return encodeURIComponent(str.replace(/!/g, '%21').replace(/'/g, '%27').replace(/\*/g, '%2A').replace(/\\/g, "\\\\"));

我只希望我知道为什么会这样。