全角・半角・バイト数の違い

「全角は2バイト」は本当? 文字数とバイト数の違いを整理します。

「全角10文字(半角20文字)以内」「100バイト以内」のように、文字数の制限は文字数で決められている場合と、バイト数で決められている場合があります。この2つの違いを知っておくと、入力フォームやシステムの「なぜか入らない」を防げます。

全角と半角

半角は英数字のように幅の狭い文字、全角はひらがなや漢字のように正方形に近い幅の文字です。同じ「A」でも、半角の A と全角の A は別の文字として扱われます。

カタカナには半角の アイウ と全角の アイウ があります。半角カタカナは、システムや環境によっては正しく扱えない場合があるため、入力フォームで全角への統一を求められることがよくあります。

バイト数とは

バイト数は、文字をコンピューターに保存するときに必要なデータの大きさです。同じ文字でも、文字コード(UTF-8やShift_JISなど)によってバイト数が変わります。現在のウェブで標準的に使われているのはUTF-8です。

文字の例種類UTF-8Shift_JIS
A 1半角英数字1バイト1バイト
ア半角カタカナ3バイト1バイト
あ 漢ひらがな・漢字など3バイト2バイト
😀 𠮷絵文字・一部の漢字4バイト表せない

「全角は2バイト」という説明をよく見かけますが、これはShift_JISの場合の話です。UTF-8では日本語の多くの文字が3バイトになり、「全角10文字=20バイト」とはなりません。また、半角カタカナはShift_JISでは1バイトですが、UTF-8では3バイトです。

「文字数」と「バイト数」、どちらの制限か確認しよう

システムやデータベースの入力欄では、制限が文字数ではなくバイト数で決められていることがあります。たとえば「100バイトまで」の欄にUTF-8で日本語を入れると、入るのは33文字までです(100÷3=33余り1)。

改行もバイト数に含まれる

改行も1文字分のデータです。モジツールでは改行を1文字(UTF-8で1バイト)として数えます。ただし、Windowsのテキストファイルなどでは改行が2文字分(CR+LF)として保存されることもあり、環境によって数え方が変わる点に注意が必要です。

モジツールでの確認方法

バイト数を確認する →

あわせて読みたい