0

我一直在使用 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 值做了一些测试,看看我是否得出任何结论,但我的努力是徒劳的。有谁知道这些运算符(如果我可以这样称呼它们,'>>','&','|')是什么意思?

请注意,该功能有效,我只是想正确理解它。

非常感谢!再见!

4

0 回答 0