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