漢字を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