ソフトウェア 公開日 2026.04.26 更新日 2026.04.26

UTF-8とは?文字コードを初心者向けにどう理解すればいいのか

UTF-8とは何かを、文字コードの基本、Unicodeとの関係、なぜよく使われるのか、Shift_JISやBOMとの違いまで初心者向けに整理します。

先に要点

  • UTF-8 は、文字をコンピュータの中でどう並べて保存・送受信するかを決める文字コードの一種 です。
  • Unicode の文字を表すための代表的なエンコーディング で、日本語、英語、記号、絵文字まで広く扱えます。
  • Web、JSON、HTML、CSS、JavaScriptAPI、各種テキストファイルで広く使われており、今は「まず UTF-8 を選ぶ」が基本 です。
  • 初心者向けに一言で言うと、UTF-8 は「文字化けしにくく、いろいろな文字を一緒に扱いやすい、今の標準寄りの文字コード」 です。

UTF-8 ってよく見るけど、結局何? 文字コードって何が違うの? Shift_JIS とどう違うの? というのは、最初につまずきやすいところです。
でもここを雑に理解すると、CSV、Excel、Web、メール、DB で同じような文字化けを何度も踏みます。

この記事では、UTF-8 とは何かを、文字コードの基本Unicode との関係なぜ今よく使われるのか の順で整理します。
前に公開した 文字化けって何?防止方法、復元方法は?CSVをExcelで開くと文字化けするのはなぜか の土台として読める形にしています。

そもそも文字コードとは何か

コンピュータは、文字をそのまま理解しているわけではありません。
内部では、文字は最終的にバイト列として保存されます。

たとえば人間には A😊 も文字として見えますが、コンピュータの中では

  • どの文字を
  • どんなルールで
  • 何バイトで表すか

を決める必要があります。

この 文字をバイト列にするルール が文字コードです。

UTF-8とは何か

UTF-8 は、その文字コードのひとつです。
もっと正確に言うと、Unicode の文字をバイト列へ変換する方法のひとつ です。

ここで大事なのは、UTF-8 自体が 文字の一覧 ではなく、文字を保存・送信するための表し方 だという点です。

初心者向けにざっくり言うなら、

  • Unicode
    どんな文字があるかをまとめた大きな土台
  • UTF-8
    その文字を実際にどうバイトで表すかの方法

という理解でかなり十分です。

Unicodeとの関係

ここは混ざりやすいので分けておくと楽です。

Unicode

Unicode は、世界中の文字をなるべく共通に扱うための仕組みです。
日本語、英語、中国語、アラビア語、記号、絵文字などをひとつの大きな枠組みで管理しようとしています。

UTF-8

UTF-8 は、その Unicode の文字を実際のバイト列にするやり方です。

つまり、

  • Unicode = 文字の土台
  • UTF-8 = その土台を実際に保存する方法

です。

ここを混ぜて UTF-8 = 文字の種類 と思うと、後で分かりにくくなります。

なぜ UTF-8 がよく使われるのか

1. 日本語も英語も同じ土台で扱いやすい

昔は、英語圏は英語圏、日本語圏は日本語圏で別の文字コードを使うことが多く、そこから文字化けが起きやすくなっていました。
UTF-8 は Unicode を前提にしているので、日本語と英語と記号と絵文字を同じ土台で扱いやすいです。

今の Web や API で UTF-8 が強いのは、この 混在に強い ところが大きいです。

2. ASCII と相性がよい

UTF-8 では、英数字や基本記号の範囲は ASCII と互換があります。
つまり英語だけのテキストなら、昔ながらの ASCII 系とかなり自然につながります。

この性質のおかげで、

  • 英語中心のプログラム
  • 設定ファイル
  • HTML や JSON

と相性がよく、広く普及しました。

3. Web の標準寄りだから

WHATWG の Encoding Standard や MDN でも、今の Web では UTF-8 が基本です。
HTML の <meta charset="utf-8"> や HTTP の charset=utf-8 を見かけるのはそのためです。

実務でも、

の多くで、まず UTF-8 を使う前提になっています。

UTF-8 の「8」って何?

ここもよく聞かれます。
UTF-8 の 8 は、8ビット単位の並びを使う方式 という名前の一部です。

ただし、1文字 = 8ビット固定 という意味ではありません。
ここは誤解しやすいです。

UTF-8 では、文字によって使うバイト数が変わります。

  • 英数字は少ないバイト数
  • 日本語はそれより多いバイト数
  • 絵文字はさらに多いことがある

つまり UTF-8 は、可変長の文字コード です。

初心者向けには、英語は軽く、日本語や絵文字は少し重い くらいの感覚で十分です。

Shift_JIS と何が違うのか

日本語圏でよく比べられるのが Shift_JIS です。

Shift_JIS は、日本語 Windows や古い業務システム、Excel 前提の CSV 運用などで今でも出てくることがあります。
ただし、UTF-8 と比べると次の違いがあります。

UTF-8 の強み

  • 世界中の文字を扱いやすい
  • Web や API で標準寄り
  • JSON や HTML と相性がよい
  • システム連携で将来的に扱いやすい

Shift_JIS の特徴

  • 古い日本語環境ではなじみが深い
  • Excel 前提の運用で相性がよいことがある
  • 文字の種類によっては扱いづらい
  • 多言語や記号、絵文字では不利になりやすい

だから今の基本は UTF-8 ですが、業務の相手が誰か によって Shift_JIS がまだ残ることがあります。

BOM とはどう関係するのか

UTF-8 を調べると、よく BOM が出てきます。
BOM は、ファイル先頭に付く目印のようなものです。

UTF-8 では BOM は必須ではありません。
ただし、相手のツールが UTF-8 と認識しやすくなる場面があります。

特に Excel の CSV では、Microsoft 公式でも UTF-8 CSV は BOM 付きなら通常どおり開ける と案内されています。
なので、UTF-8 と BOM は別物ですが、実務では一緒に出てきやすいです。

UTF-8 なら絶対に文字化けしないのか

しません、とは言えません。
UTF-8 自体は強いですが、読む側が UTF-8 として読まないと文字化けは起きます

たとえば、

  • UTF-8 の CSV を Excel が別の文字コードで開く
  • UTF-8 の HTML なのに charset 指定がズレている
  • DB 接続側だけ別エンコーディングになっている

といった場合は、UTF-8 でも文字化けします。

つまり大事なのは、

  • UTF-8 で保存する
  • UTF-8 と伝える
  • UTF-8 として読む

の3つをそろえることです。

初心者向けにどう理解すればいい?

実務で困らない理解としては、次の順で十分です。

1. 文字コードは「文字を保存するルール」

まずここだけ押さえます。
文字は見た目そのままではなく、バイト列で保存されるので、そのルールが必要です。

2. UTF-8 は今いちばんよく使う文字コード

Web、API、テキストファイルでは、まず UTF-8 を疑う、選ぶ、そろえる、でだいたい合います。

3. UTF-8 でも読み方がズレれば文字化けする

これが大事です。
UTF-8 を選べば終わりではなく、相手も UTF-8 として読めるかを見る必要があります。

4. Excel や古い業務システムは例外がある

ここだけ実務の注意点です。
CSV と Excel の組み合わせでは、UTF-8+BOM や取り込み手順まで考えた方が安定します。

実務で最初にやるとよいこと

もし自分でシステムやファイル出力を触るなら、最初に次を統一するとかなり楽です。

  • ソースコードは UTF-8
  • HTML は <meta charset="utf-8">
  • HTTP レスポンスは charset=utf-8
  • JSON は UTF-8
  • CSV は利用先に応じて UTF-8+BOM か運用手順を決める

この土台があるだけで、文字化けトラブルはかなり減ります。

まとめ

UTF-8 は、Unicode の文字を保存・送信するための代表的な文字コード です。
日本語、英語、記号、絵文字まで広く扱え、今の Web やテキスト処理では基本の選択肢になっています。

初心者向けには、

  • 文字コードは文字をバイト列にするルール
  • UTF-8 は今いちばんよく使うルール
  • ただし保存・送信・表示がそろわないと文字化けする

この3つを押さえれば十分です。

実務では とりあえず UTF-8 がかなり強いですが、CSV と Excel のように例外的な運用もあるので、相手がどう読むか まで見るのがいちばん大事です。

この記事と一緒に読みたい

  1. 文字化けって何?防止方法、復元方法は?
  2. CSVをExcelで開くと文字化けするのはなぜか
  3. BOMとは?UTF-8ファイルの先頭に付く目印をどう考えるべきか

参考リンク

あとで見返すならここで保存

読み終わったあとに残しておきたい記事は、お気に入りからまとめて辿れます。