このツールの機能
テキスト サイズは、Web および最新のシステムの標準である UTF-8 エンコーディングを使用して、テキストが占めるスペースをバイト、キロバイト、文字単位で正確に計算します。これは、制限が文字ではなくバイト単位で測定される場合に必要なツールです。これは人々が予想するよりも一般的です。
バイトと文字が異なる理由
UTF-8 では、すべての文字が 1 バイトであるわけではありません。単純な英語の文字と数字はそれぞれ 1 バイトを必要とするため、単純なテキストの場合、バイト数は文字数と一致します。ただし、アクセント付き文字は 2 バイト、多くの記号と非ラテン文字は 2 ~ 3 バイト、絵文字は 4 バイトかかる場合があります。つまり、100 文字の文字列は 100 バイトをはるかに超える可能性があります。システムがバイト単位で制限を測定する場合、文字数をカウントすると誤解を招きますが、このツールは実際のバイト サイズを表示します。
バイトサイズが重要な場合
多くの場合、データベース フィールドにはバイト制限が定義されているため、文字として適合する値であっても、バイト制限を超えると拒否される可能性があります。一部の API とプロトコルはペイロードをバイト単位で測定します。 SMS メッセージ、ファイル サイズの割り当て、および特定のフォーム フィールドはすべてバイト数を考慮します。値が列に適合するかどうか、またはペイロードがサイズ制限を超えているかどうかをチェックする開発者は、文字数ではなくバイト数を必要とします。
結果を読む
このツールには、入力すると更新される 3 つの数値が表示されます。UTF-8 での合計バイト数、大きなテキストの同等のキロバイト数、および比較のための平文文字数です。バイト数と文字数が異なる場合、そのギャップはテキストの非 ASCII コンテンツ、つまりそれぞれが 1 バイト以上必要なアクセント、記号、絵文字です。すべてはブラウザ内で計算されるため、機密テキストであってもデバイス上に残ります。
文字とバイトの比較
文字とバイトは必ずしも同じものではありません。プレーン ASCII では、1 文字は 1 バイトですが、Web の標準エンコーディングである UTF-8 では、アクセント付き文字、絵文字、非ラテン文字はそれぞれ 2、3、または 4 バイトかかります。このツールは、UTF-8 での文字数とバイト単位の実際のサイズの両方を測定します。制限が文字ではなくバイトで定義されている場合、その違いは常に重要であり、これはほとんどの人が予想するよりも一般的です。
バイトサイズが重要な理由
データベース フィールドのサイズはバイト単位であることが多いため、テキストにマルチバイト文字が含まれている場合、予想よりも少ない文字数で VARCHAR 制限に達する可能性があります。ネットワーク ペイロード、メッセージ サイズ制限、ストレージ クォータはバイト単位で測定されます。一部の API は、バイト サイズによってリクエスト本文を制限します。文字数は問題ないと思われるにもかかわらず、「長すぎる」という理由でテキストが拒否されたことがある場合は、マルチバイト文字とバイトベースの制限が原因である可能性があります。事前にバイト サイズを測定しておけば、そのような事態を避けることができます。
UTF-8 およびマルチバイト文字
UTF-8 は、基本的なラテン文字と数字をそれぞれ 1 バイトでエンコードするため、プレーン英語テキストの文字数とバイト数は同じになります。ただし、「é」は 2 バイト、多くのアジア文字は 3 バイト、絵文字は通常 4 バイトです。したがって、100 文字の文字列は、その内容に応じて 100 ~ 400 バイトになります。このツールは、正確なバイト サイズ、キロバイト サイズ、文字数をまとめて表示するため、文字数またはバイト数で定義されているかどうかにかかわらず、テキストが制限に対してどのように測定されるかを正確に確認できます。