文字数カウント
貼り付けた文章を、入力しながら数えます。絵文字や結合文字も見た目どおり1文字として数えます。
入力した文章はこの画面の中だけで処理します。どこにも送信しません。
まだ何も入っていません。上の欄に貼り付けると、打っている途中から数え始めます。
| 数え方 | 文字数 |
|---|---|
| 文字数人が1文字と感じる単位(書記素) | 0 |
| 空白を除くスペース・改行・タブを数えない | 0 |
| 改行を除くスペースは数える | 0 |
| 行数 | 0 |
| 原稿用紙400字詰め換算 | 0.00 枚 |
プログラムから見た文字数
文字数制限の実装によって、同じ文章でも数が変わります。絵文字を含む文章が 「文字数を超えています」と弾かれるのは、たいていここが原因です。
| コードポイントUnicode の文字の個数 | 0 |
|---|---|
| UTF-16JavaScript の length・多くの入力欄の上限 | 0 |
| UTF-8 バイト数データベースの桁数・通信量 | 0 |
よくある質問
絵文字は何文字と数えますか?
この計算機は、人が1文字と感じるまとまり(書記素)で数えます。家族の絵文字 👨👩👧👦 は見た目どおり1文字です。ただしプログラムの世界では同じ絵文字が11文字と数えられることがあり、その値も併記しています。
文字数制限に引っかかるのに、数えると足りているのはなぜですか?
数え方が違うためです。多くの入力欄は UTF-16 のコード単位で上限を判定しています。絵文字や一部の漢字は1文字で2つ分と数えられるため、見た目の文字数より多く消費します。この計算機では UTF-16 の値も同時に出しているので、そちらと制限を比べてください。
空白を除いた文字数はどれを使えばよいですか?
提出先の指定によります。作文や小論文では句読点を含めて数えるのが一般的で、空白を除く指定がある場合はスペースと改行を数えません。指定がなければ、空白を含む文字数を使えば不足することはありません。
原稿用紙の枚数はどう計算していますか?
1枚400字(20字×20行)として、文字数を400で割った値です。実際の原稿用紙では段落の途中で行が変わるため、この計算より枚数が増えます。おおよその目安として使ってください。
入力した文章はどこかに送られますか?
送られません。この計算機はブラウザの中だけで動いており、文章がサーバーに届く経路そのものがありません。未公開の原稿や個人情報を含む文章でも、そのまま貼り付けられます。
「1文字」には3つの定義がある
文字数を数えるという作業は、一見すると答えが1つに決まりそうに見えます。 ところが実際には、何を1文字と見なすかで3通りの答えが出ます。 どれが正しいということはなく、目的によって使い分けるものです。
1つめは書記素クラスタです。人が読んで「1文字」と感じるまとまりを指します。 濁点つきの「が」も、肌の色を指定した絵文字も、家族の絵文字も、すべて1文字です。 提出物の字数を数えるときに使うのはこれです。
2つめはコードポイントです。Unicode が文字に振った番号の個数を数えます。 家族の絵文字は4人分の絵文字と3つの接合子で 7 と数えられます。
3つめはUTF-16 のコード単位です。多くのプログラミング言語が「文字列の長さ」として返す値で、 入力欄の文字数制限もたいていこれで判定されています。 絵文字や、JIS 第3・第4水準の一部の漢字(𠮷 など)は、1文字で2つ分を消費します。
投稿しようとして「文字数を超えています」と言われたのに、数えると足りている ── この食い違いは、ほぼすべてこの3つの定義のずれから生まれます。
バイト数が必要になる場面
データベースの桁数や、通信量の見積もりでは、文字数ではなくバイト数を使います。 UTF-8 では ASCII が1バイト、ひらがなや漢字が3バイト、多くの絵文字が4バイトです。 「255文字まで」と書かれた仕様が実は255バイトを指していて、 日本語だと85文字しか入らなかった、という取り違えはよく起きます。