日本語を数値に変換してみる
ということを実現するコードです
コード.gsfunction get_char_code(){ var text = "abc"; var code_array = []; for(var i = 0; i < text.length; i++){ code_array.push(text[i].charCodeAt()); } var code = code_array.toString().replace(/,/g, ""); Logger.log(text); Logger.log(code_array); Logger.log(code); } | 意訳.gsこの処理は以下を実行する テキストを設定して code_arrayという入れ物を用意して テキストの文字数分以下を繰り返す code_arrayにテキストのi文字目の文字コードを追加する code_arrayの,を消して文字コードをつなげる テキストをログに出す テキストの文字それぞれの文字コードをログに出す それらをつなげた数値のみをログに出す |
(シートを使わずにログだけ出しているので、Google Apps Scriptと言うかJavascriptのコードですが)
何をやっているかというと
.charCodeAt()
で対象のテキストの文字コードを取得できることを利用して
テキスト一文字ずつに対してその文字コードを取得し
最終的に全部つなげてひとつの数値にしてしまう
ということをやっています
例えば
aの文字コードを単体で取得すると
function myFunction() {
var text = "a";
var char_code = text.charCodeAt();
Logger.log(char_code);
}
ログには97と出ます
これをb, cも同じように
bは98
function myFunction() {
var text = "b";
var char_code = text.charCodeAt();
Logger.log(char_code);
}
cは99
function myFunction() {
var text = "c";
var char_code = text.charCodeAt();
Logger.log(char_code);
}
この取得した文字コード
97, 98, 99
をそのままくっつけて
abcを9709899という数値で表す
ということをやっています
今日は
というテキストも同様に
今 → 20170
日 → 26085
は → 12399
に分けて文字コードを取得してくっつけています
→ 201702608512399
→ 201702608512399