Yueseryueser.com

← ガイド一覧

文字数カウントの数え方:文字・単語・行はそれぞれ何を数えているか

同じ文章でも、数える場所によって文字数は変わります。間違っているのではなく「文字」の定義が違い、スペースを含めるもの、単語で数えるもの、UTF-16 の符号単位で数えるものがあるためです。

ツールを開く:文字数カウント

文字数を数える必要がある場面

「1000 字以内」という公募、250 語制限の論文要旨、300 字の自己紹介など、上限が決まっている原稿はまず数えてから削る必要があります。翻訳は千字あたりで見積もることが多く、納品前に原文と訳文の分量を確認しておくと、請求額と依頼者の集計が食い違うのを防げます。

もう一つは、貼り付けが欠けていないかの確認です。チャットやフォームの maxlength、管理画面の入力欄は通知なしに末尾を切ることがあり、見た目では分かりません。元の文章と貼り付け後をそれぞれ数え、文字数が一致すれば欠けていないと判断できます。

4 つの数字の算出方法

「文字」は UTF-16 の符号単位、つまり JavaScript の文字列長で数えます。スペース、改行、句読点もそれぞれ 1 文字、絵文字や一部の漢字は 2 文字分になります。「日本語の文字」は漢字とひらがな・カタカナの範囲だけを数えるため、句読点やスペースは含まれず、文字数より小さくなります。

「英単語」は漢字と仮名をスペースに置き換えてから、英字・数字・アポストロフィで区切ります。ハイフンは区切りになるため state-of-the-art は 4 語、don't は 1 語です。「行数」は改行の数に 1 を足した値なので、空のテキストでも 1 行と表示され、末尾で改行すると 1 行増えます。

数えられないものと、代わりの方法

UTF-8 のバイト数や、サービス独自の換算は扱いません。リンクを常に 23 文字として数えるサービス、全角と半角を別扱いするサービスなど、規則は各社で異なり汎用のカウンターでは再現できません。日本語や中国語の「単語数」も出せません。単語分割には形態素解析が必要で、スペースで切ると数個の長い塊になるだけです。

バイト数を見たいときは wc -c、文字数は wc -m を使います。ASCII だけなら両者は一致し、日本語が入ると差が出ます。Word の文字数は単語と漢字を別々に積み上げるため、ブラウザの表示と違って当然です。比べるときは同じ数え方に固定してください。

よくある質問

文字数にスペースや改行も含まれますか?

含まれます。文字列の長さで数えるため、スペース、タブ、改行、句読点もそれぞれ 1 文字です。スペースを除いた文字数が求められている場合は、スペースの数を引くか、除いてから数えてください。

絵文字が 2 文字と数えられるのはなぜですか?

UTF-16 の符号単位で数えているためです。ほとんどの絵文字は U+FFFF より上の符号位置にあり、2 つの符号単位で表されます。一部の漢字も同じです。符号位置で数える仕様なら、その分を 1 として数え直してください。

日本語の文字数はどれを見れば正確ですか?

「日本語の文字」の行です。漢字と仮名を 1 文字ずつ数え、句読点やスペースは含まないため、多くのサービスの字数に近くなります。句読点を含める仕様もあるので、入稿前にそのサービスのプレビューで確認してください。

関連ツール:文字数カウント