code: private function getCharCount($byte)
      {
          for ($i = 0; $i < 7; $i ++) {
              $bit = pow(2, 7 - $i); // 128, 64, 32, 16 ...
              if ($byte < $bit) {
                  return max(1, $i);
              }
              $byte %= $bit;
          }
          
          // @codeCoverageIgnoreStart
          throw new Exception("Invalid State Error");
          // @codeCoverageIgnoreEnd
      }
docs: 次の 1 文字が何バイトで構成されているかを計算します.
  引数に応じて以下の結果を返します. (以下 2 進数表示)
  
  <pre>
  1111110* => 6
  111110** => 5
  11110*** => 4
  1110**** => 3
  110***** => 2
  </pre>
  
  @param  int $byte 次の文字の最初の 1 バイト
  @return int       次の文字のバイト数