我几乎已经解决了这个问题,但是我在VLC http接口上构建了一个遥控器,并且在编码&符号时遇到了问题。
例如,我得到一个文件名,如下所示
C:\Users\Me\Music\Library\I Need a Doctor feat(Eminem & Skylar Grey)但是当我转义+ url编码文件名时,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()正常工作。诅咒我糟糕的正则表达式知识。我稍后会解决这个问题
发布于 2011-08-09 03:35:47
多亏了Marc B,它做了一些微调。
最后的函数看起来像这样:
return encodeURIComponent(str.replace(/!/g, '%21').replace(/'/g, '%27').replace(/\*/g, '%2A').replace(/\\/g, "\\\\"));我只希望我知道这是怎么回事。
https://stackoverflow.com/questions/6986688
复制相似问题