LANG SELRCT

コードを書く場所についてはこちら

2018年1月30日火曜日

文字列をUTF16に変換する


漢字を16進数にする方法を調べている時に
その前処理としてUTF16にする方法を試した時の覚書です

「亜」をUTF16にしてみると 20124 になる



コード.gs
function get_utf16(str){
  var str = "亜";
  var utf16 = [];
  for(var i = 0; i < str.length; i++){
    utf16.push(str.charCodeAt(i));
  }
  Logger.log(utf16);
}
意訳
この機能がやること
文字列を指定して
UTF16の結果を入れる配列を用意して
文字列がサロゲートペアの場合は2回繰り返す処理にして
文字列をUTF16にして配列に追加して

追加した配列をログに出す








文字列の「あ」をサロゲートペアの「𠮟」にして実行すると
以下のようにペアでログに出る



関連記事
文字列→UTF16→16進数→文字列に変換する
文字列⇔UTF16⇔16進数の相互変換をする(サロゲートペア対応)


参考

String.prototype.charCodeAt()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt