【GAS:Google Apps Script】文字列のbyte数取得(全角文字を2文字として半角文字数を取得する)

【GAS:Google Apps Script】文字列のbyte数取得(全角文字を2文字として半角文字数を取得する)

GAS(Google Apps Script)の案件を手掛ける上でよく使い回す処理をファンクション化してみました。
コピーしてそのまま使うこともできますし、一部カスタマイズして使ってください。

「複数のサイトを横断的に見ないと答えにたどり着かない。。。」
そんな思いにこたえることができれば幸いです!

さて、今回は「文字列のbyte数取得(全角文字を2文字として半角文字数を取得する)」処理の紹介です。

処理概要

文字列のbyte数(全角文字を2文字として半角文字数)取得する
【引数】
str : byte数(半角での文字数)を取得した文字列
【返り値】
byte数(半角での文字数)

ファンクション

function getHalfLength(str) {
  let len = 0;
  let escapeStr = escape(str);
  for (let i = 0; i < escapeStr.length; i++, len++) {
    if (escapeStr.charAt(i) == "%") {
      if (escapeStr.charAt(++i) == "u") {
        i += 3;
        len++;
      }
      i++;
    }
  }
  return len;
}

内部処理の説明

今回のファンクションはカスタマイズの必要もほぼないはずなので、内部処理の説明は割愛します。

まとめ

今回は簡単に「文字列のbyte数取得(全角文字を2文字として半角文字数を取得する)」処理について紹介しました。

Google Apps Script は無料枠でも十分に使えとても便利です。
OSに依存せずに使えることから様々な環境で自動化・省力化してスローライフを楽しみましょう!

GASでの簡易システム制作に関するお問い合わせはこちらからお待ちしております。
LancersMENTAでも活動していますので、そちらからお仕事を依頼して頂けます。