LANG SELRCT

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

2017年11月1日水曜日

テキストを数字に変換する

アルファベットを数値に変換してみる


日本語を数値に変換してみる


ということを実現するコードです


コード.gs
function 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