Glossary用語集

マルチバイト文字

まるちばいともじ

マルチバイト文字とは?

マルチバイト文字とは、1文字を表現するのに「2バイト以上」のデータを必要とする文字のことです。
日本語・中国語・韓国語など、文字数が多くて複雑な言語に使われます。
英語などのアルファベットは「1バイト」で表せますが、日本語の「漢字」や「ひらがな」「カタカナ」は、1バイトでは足りず、2バイト以上使って表現する必要があるため「マルチバイト(multi-byte)」と呼ばれます。

よく使われる場面

  • 日本語など多言語対応のシステム開発
  • 文字数制限のあるフォームの設計(全角・半角の扱い)
  • 文字列処理(文字数カウント、切り出しなど)のプログラム
  • データベースやメール送信時の文字化け対策

なぜ意識する必要があるの?

  • 文字化けの原因になりやすい(特に文字コードが合っていないとき)
  • 「1文字=1バイト」と思って処理すると、文字列の長さが狂う・データが壊れる
  • システムによっては、マルチバイト文字を扱えない・制限があることも

関連する用語

  • シングルバイト文字:1バイトで表せる文字(英数字、記号など)
  • UTF-8:国際的な文字コード規格。マルチバイト文字にも対応し、多言語で広く使われる
  • Shift_JIS / EUC-JP:日本語用の文字コード(古くから使われていた)

例:日本語の「漢」という文字

  • UTF-8だと「漢」は 3バイト
  • Shift_JISだと 2バイト → つまり「マルチバイト文字」は環境によってバイト数も変わる!

よくある誤解・注意点

  • 「1文字=1バイト」とは限らない! → 日本語は1文字でも複数バイト
  • 文字数制限では「バイト数制限」と「文字数制限」は別物!(例:50バイト制限 = 全角25文字まで)
  • PHPやJavaScriptで文字列処理する場合、mb_(マルチバイト用)関数を使わないとバグの原因になることも

まとめ

マルチバイト文字は、日本語のように複雑な文字を扱うための文字形式です。文字数やデータ量、文字化けなどに大きく関わるため、特にプログラムやデータ処理の現場ではしっかり意識する必要がある概念です。扱う場面によっては、文字コードや使用関数を正しく選ぶことが重要になります。