na.to.
KO EN JA
🔤

文字が化ける理由

文字が疑問符や見慣れない記号になることがあります。何がずれているのか。

⏱ 読了目安 1分 ·情報更新 2026-09-22

📋 基本情報

要点
文字は数として保存され、その数を読む取り決めが符号化
文字化け
保存するときと開くときで違う取り決めを使うと化ける
UTF-8
文字によって占めるバイト数が違う
注意
文字数とバイト数は同じではない

文字は数である

計算機は文字を絵としてではなく数として保存します。どの数がどの文字かを定めた表が必要で、この表を決めた取り決めが文字符号化です。初期には英語圏で作られた小さな表しかなく、各国が自国の文字を入れた表を別々に作ったことで、表がいくつにも分かれました。

文字化けが起きる仕組み

ファイルを保存したときの表と開いたときの表が違えば、同じ数を別の文字として読むことになります。そのため文字が見慣れない記号や疑問符に見えます。中身が壊れたのではなく解釈を誤っただけなので、正しい符号化で開き直せばたいてい元どおりに見えます。

ユニコードが解決したこと

ユニコードは世界の文字それぞれに固有の番号を与えた一つの表です。表が一つなら、国ごとに違う表を使う問題はなくなります。その番号を実際のファイルに何バイトで書くかはまた別の問題で、それを定めた方式のうち最も広く使われているのがUTF-8です。

  • ユニコード:文字ごとに番号を定めた表
  • UTF-8:その番号をバイトとして書く方式
  • 英数字は1バイト、多くの文字は3バイト
  • 絵文字は4バイトを使うこともある

文字数とバイト数

UTF-8では文字ごとに占めるバイトが違うので、文字数とバイト数は一致しません。日本語10文字はおよそ30バイトになります。文字数の制限がある入力欄で、英数字より早く上限に達する場合、その制限がバイト基準である可能性が高いです。どちらの基準か分からないなら、短く書くほうが安全です。

住所欄に見えるパーセント記号

ウェブの住所には、本来は英数字と一部の記号しか使えません。そのため、それ以外の文字や空白はパーセント記号と2桁の16進数に置き換えて書かれます。住所を複製したら見慣れない文字列が付いてくるのがこれで、壊れたのではなく規則どおりに変換された状態です。

🌍 検索エンジンでさらに調べる

ボタンを押すと、そのエンジンでこのキーワードを検索します

🔗 同じ分類の他の項目

🧰 関連サービス

ボットトレード YouTube チャンネル