我一直在使用 url 和 uri 做一些工作,我对我用来编码/解码的函数有疑问。
我在网上查了一下,找到了一个可以正确编码我的代码的函数,主要使用 String.fromCharCode() 方法。但问题是关于传递的参数。
我有这样的事情:
_utf8_encode : function (string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
}
else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
让我烦恼的是父母内部的操作。我用 c 值做了一些测试,看看我是否得出任何结论,但我的努力是徒劳的。有谁知道这些运算符(如果我可以这样称呼它们,'>>','&','|')是什么意思?
请注意,该功能有效,我只是想正确理解它。
非常感谢!再见!