重み付き文字数カウント

このページの従来方式では、U+0000からU+00FFまでのUTF-16コード単位を1、それ以外を2として加算します。入力に合わせて6項目の統計を更新します。重み付き合計は単語数やファイルサイズではありません。

ブラウザ内でローカルに実行

計算例を確認する

テキストを入力または貼り付けると、6項目を自動で集計します。計算はブラウザー内で行い、集計用のリクエストで入力を送信しません。クリアでは入力とすべての統計値を初期化します。

  1. A你😀1を入力すると、重み付き合計は8です。Aと1は各1、你は2、😀の2つのUTF-16コード単位は合わせて4になります。
  2. 表の順に1、2、3、2、1、8が表示されます。U+00FFを超えるすべてのコード単位には、指定範囲の漢字とその他のコード単位がすでに含まれています。
  3. テキストを編集すると再集計します。クリアを押すと、重み付き合計を含む6項目すべてが0に戻ります。

分類と重みの範囲

重複する内訳を足し直さない

漢字の行はU+4E00-U+9FA5の出現回数だけを数え、同じ文字の繰り返しも含めます。Unicodeの漢字全体を網羅する範囲ではありません。U+00FFを超える「その他」にはこの範囲を除いた単位を、「すべて」には両方を集計します。

U+0000-U+00FFの行にはLatin-1の文字、ASCII記号、空白、この範囲の制御文字などが入ります。ASCII数字は0-9だけを数え、この行にすでに含まれます。合計は「U+0000-U+00FFの単位数 + 2 × U+00FFを超える単位数」です。内訳をすべて足すと二重計上になります。

見た目の文字数とは一致しない場合がある

😀はUTF-16で2単位なので重みは4です。家族の絵文字👨‍👩‍👧‍👦は11単位で重みは22になります。単語や見た目の文字のまとまりを判定する処理は行いません。

Unicode正規化は行わず、éの重みは1ですが、eの後にU+0301を置くと3になります。たとえばU+9FA6は、U+00FFを超えるその他の単位に分類されます。旧版との互換性のため、この計算方法を保持しています。

重み付き合計についての質問

空白や改行も数えますか?

数えます。スペース、タブ、LFは各1です。入力欄は実際のCR・CRLF改行をLFに変換するため、Windows形式の改行を貼り付けた場合も1になります。コアを直接呼び出して未変換のCRLFを渡すと2単位になります。

単語数やUTF-8バイト数の制限確認に使えますか?

使えません。hello worldの合計は11で、単語数の2とは異なります。éはここでは1ですが、UTF-8では2バイトです。表示している重みの規則だけを計算します。

HTMLを解釈したり、漢字の重複を除いたりしますか?

入力した表記をそのまま数えます。<b>A</b>の重みは8、&amp;は5で、タグの描画や文字参照のデコードはしません。同じ漢字も毎回数えるため、你你の漢字の値は2です。

最近使ったツール: