スペースあり・なしの文字数:フォームはどちらを数えるか
フォーム、転職サイトの応募欄、SMS、SNSの投稿では、文字数の数え方が次の2通りのどちらかになっています。スペースを含む数え方と、含まない数え方です。まずは入力欄のラベルやヘルプ文を確認してください。どちらを使うかが書かれていることが多いです。どちらも書かれていなければ、厳しい方の数え方を使ってください。通常はスペースを含まない方です。テキストをコード単位やバイト数で数えるシステムでは、絵文字や一部のアクセント付き文字が1文字より多く数えられることもあります。そのため、あるツールでは通った文章が、別のツールでは通らないことがあります。フォームと同じルールに従うツールで数えてください。
単語数・文字数カウンター文章が文字数制限を超えていないか?無料で使うスペースあり・なしの違い
- スペースあり は、入力したすべての文字を数えます。スペースも1文字として数えます。
- スペースなし は、数える前にすべての空白文字を取り除くので、単語がつながります。単語数カウンターのスペースなしの数値は、改行、タブ、改行しないスペースを含むすべての空白文字を取り除き、残った文字を数えます。
"Hello world" は、スペースありで11文字、スペースなしで10文字です。「スペースを除いた文字数」を求めるフォームでは、2つ目の数値を使ってください。
1つの絵文字が2文字として数えられる理由
文章の長さには2種類あります。1つ目は人が画面で見る長さです。これは書記素クラスタと呼ばれ、複数のコードポイントで構成されていても、画面上では1文字として見えるものを指します。2つ目はコンピューターが内部で保存する長さです。JavaScriptの文字列の長さや、古い多くのシステムは、UTF-16のコード単位で数えます。多くの文字は1単位ですが、基本多言語面の外にある文字(多くの絵文字を含む)は2単位になります。サムズアップの絵文字(U+1F44D)は見た目が1文字でも、UTF-16では2単位です。そのため、コード単位で数えるカウンターは2と表示します。
この記事の単語数カウンターは、画面に見える文字で数えるので、サムズアップの絵文字は1文字になります。家族の絵文字も、ゼロ幅接合子で結ばれた複数のコードポイントでできていますが、1文字です。コード単位で数えるフォームでは、より大きい数値が表示されます。その差は、文章に含まれる絵文字の数だけ広がります。
アクセント付き文字
é は2通りの方法で保存できます。1つ目は1つのコードポイント(U+00E9)として保存する方法で、どこでも1単位です。2つ目は e に結合用のアキュートアクセント(U+0301)を続ける方法で、これは2つのコードポイント、2単位になります。画面に表示すると、どちらも同じに見えます。コードポイントやコード単位で数えるカウンターは、2つ目の形式に対して2を返しますが、単語数カウンターはどちらも1と数えます。
バイト数の上限では、さらに違いが生まれます。UTF-8では、é は2バイト、多くの絵文字は4バイトです。バイト数の上限があるフォームには、文字数から想像するよりも少ないアクセント付き文字や絵文字しか入らないことがあります。単語数カウンターはバイト数を表示しないので、バイト数は別途見積もってください。
改行と見えない文字
テキストボックスでは、改行は1文字として扱われます。しかし多くのシステムでは、Windowsの改行を、復帰(CR)と改行(LF)の2文字として保存します。Webフォームの送信でも、改行はこの形式で送られます。そのため、サーバーで数えた文字数は、入力欄に見える数よりも改行の数だけ多くなることがあります。入力したままの状態ではなく、送信される状態のテキストで数えてください。
ゼロ幅スペースは扱いが異なります。スペースなしの数え方では空白文字として扱われないため、数値に残って増えてしまいます。先に見えない文字を削除してください。このツールはタブと改行を残し、改行しないスペースを通常のスペースに変換します。そのあとでスペースなしの数え方が、そのスペースを取り除きます。見えない文字の解説記事では、これらの文字がどこから入るのかを説明しています。
1つの文章、5通りの文字数
"Café"という単語、スペース、サムズアップの絵文字(U+1F44D)を含む文章を考えます。é は1つのコードポイントとして保存されているとします。測り方によって、合計は次のように変わります。
| 測定方法 | 文字数 |
|---|---|
| 画面に見える文字、スペースあり(単語数カウンター) | 6 |
| コードポイント | 6 |
| UTF-16のコード単位(JavaScriptの長さ) | 7 |
| UTF-8のバイト数 | 10 |
| 画面に見える文字、スペースなし(単語数カウンター) | 5 |
それぞれの合計は、その測定方法としては正しい数値です。どの測定方法で数えるかはフォームが決めるので、特定の数字よりもルールを確認することが大切です。
手順
- ルールを確認します。文字数、バイト数、単語数のどれか、またスペースを含めるかどうかを見てください。
- 見えない文字を削除でテキストを整え、見えない文字によって数値が増えないようにします。
- テキストを単語数カウンターに貼り付け、文字数とスペースなしの文字数を確認します。上限の表は一般的な上限を示していますが、使うべき数値はフォームが数えるものです。
- フォームがバイト数で数える場合は、上で説明したとおり、バイト数を別途見積もってください。
- フォームに独自のリアルタイムカウンターが表示される場合は、そちらの数値を優先してください。このツールを使って、2つの数値が違う理由を確認できます。
- ルールがまだはっきりしない場合は、余裕を持たせてください。文字数・単語数の上限では、単語とプラットフォームのルールについて同じ問題を扱っています。
例外的なケース
- プラットフォームのルールが優先されます。 プラットフォームが独自のカウンターを提供している場合は、一般的なカウンターではなく、その数値に合わせてください。
- 末尾のスペース。 フォームが入力欄の末尾のスペースを削除する場合と、削除しない場合があります。末尾の1つのスペースで、数値が1変わることがあります。
- コピーしたテキスト。 Webページからコピーしたテキストには、改行しないスペースや見えない文字が含まれることがあります。数える前に見えない文字を削除で整えてください。
英語原文をもとに、AIの支援を受けて翻訳しています。
コメント
まだコメントはありません。最初のコメントを書いてみましょう。


