こんにちは!!IT業界に未経験で転職したパグプーです🐶
転職前に独学でITを勉強しましたが、実際に仕事を始めてみると、こんな疑問が出てきました。
「ITの専門用語って、なんとなくの理解で使ってしまうことが多くないですか?」
「勉強した知識を、実際の業務でどう使うのかイメージしづらいことってありませんか?」
このサイトでは、私自身が「これってどういう意味なんだろう?」と感じたIT用語を、できるだけわかりやすく紹介・解説していきます。
今回のテーマは「文字コード」です。
ファイルを開いたとき、日本語が「��」のように文字化けして困った経験はないでしょうか?
その原因の多くは、文字コードにあります。本記事では、なぜ文字コードの影響で文字化けが起きるのか、その仕組みをわかりやすく解説します。
文字コードの概要
文字コードとは、文字(あ・A・1・😊 など)をコンピュータが扱える数字に変換するためのルールです。
コンピュータは文字をそのまま理解できず、すべてを0 と 1 の数字で扱います。そのため、「A は 65」「あ は 12354」など、文字と数字の対応表が必要になります。この対応表こそが 文字コードです。
※65や12354は人間が文字コードを理解しやすいように10進数で表記しているだけで、実際にはコンピュータ内部で2進数(65の場合は01000001)に変換されて使われています。
文字コードの役割はシンプルで、次の 2 つに集約されます。
・文字を数字に変換する(保存・通信のため)
・数字を文字に戻す(表示のため)
文字コードにはいくつかの種類があります。文字から数字に変換したときの文字コードと、数字を文字に戻すときの文字コードが一致していないと、文字化けが発生します。
文字コードの種類
代表的な文字コードは以下の表のとおりです。他にも多くの種類が存在します。
| 文字コード | 特徴 | 日本語対応 | 主な用途 |
| ASCII | ・英数字のみ ・最も基本 | × | ・プログラム内部 ・通信プロトコル |
| Shift_JIS | ・日本語を扱える ・古くから使われる | ○ | ・Windows ・古いシステム |
| EUC-JP | ・UNIX 系でよく使われた日本語コード | ○ | ・Linux ・古い Web サーバ |
| UTF-8 | ・世界中の文字を扱える ・現在の標準 | ◎ | ・Web ・アプリ ・Linux ・Mac |
| UTF-16 | ・Unicode を 2 バイト中心で扱う | ◎ | ・Windows内部 ・Excel など |
文字コードの設定が必要なもの
文字コードの設定が必要になるかどうかは、ファイル形式によります。
| ファイル形式 | 文字コードの要否 | 解説 | 具体例 |
| ファイル全体がテキスト形式 | 必要 | データの中身がすべて文字列。読み書き時に文字コードが必須。文字コードが分からないと文字化けする。 | ・.txt ・.csv ・.html ・.js ・.json ・.xml(単体保存) |
| ファイル全体がバイナリ形式 | 不要 | データが構造化されたバイナリで、文字列として読む必要がない。アプリが独自のルールで解釈するため、ファイル全体として文字コードは不要。 | ・.docx ・.xlsx ・.pptx ・.png ・.jpg ・.mp4 ・.zip |
| バイナリ形式の内部にテキスト部分がある | ファイル全体としては不要(内部テキスト部分のみ必要) | ファイル全体はバイナリだが、内部の一部にテキスト(XML など)が含まれる。その部分だけ文字コードが使われるが、ファイル全体として文字コードを設定する必要はない。 | ・.docx(内部 XML は UTF-8) ・.xlsx(内部 XML は UTF-8) ・.pdf(文字オブジェクト部分のみ文字コード使用) |
文字コードの設定方法(Windows向け)
ここでは、簡易的な操作として、メモ帳アプリによる設定方法を解説します。
●ファイル作成・保存時に文字コードを設定する方法
①メモ帳を開く
②内容を入力
③「ファイル」→「名前を付けて保存」
④下部の「エンコード」欄から選択

●既存ファイルの文字コードを確認する方法
①対象のファイルを右クリック
②「プラグラムから開く」で「メモ帳」を選択する
③右下を確認する
※メモ帳の文字コードの自動判別機能は精度が低く、判別を間違えることがあります。
→正確に確認したい場合、 VS Code や Notepad++ をお勧めします。

●既存ファイルの文字コードを変換する方法
①対象のファイルを右クリック
②「プラグラムから開く」で「メモ帳」を選択する
③「ファイル」→「名前を付けて保存」
④下部の「エンコード」欄から選択
※メモ帳の文字コードの自動判別機能は精度が低いため、ファイルを開いた時点で誤判定している可能性があります。誤判定した状態で保存すると、変換ではなく破壊になることがあります。
→安全に変換したい場合、 VS Code や Notepad++ をお勧めします。
[Q] どの文字コードを使うべき?
[A] 基本は UTF-8 で問題ありません。例外的に他の文字コードを使うべき場面もあります。
例外ケース:
・レガシーな日本企業のシステム → Shift_JISやEUC-JPを使用している場合アリ
・Windows の内部処理 → UTF-16
[Q] 文字コードの知識をどう活かせる?
[A] 文字化け対策に活かせます。
「ファイルは正しいはずなのに表示がおかしい」や「日本語が意味不明な記号になる」場合は、
保存時と表示時の文字コードが一致していないと考えられるようになります。
[A] システム連携する際のエラー対策の1つとして活かせます。
「古いシステムと新しいシステムの連携」や「外部サービスとの連携」の際に、
異なる文字コードが混在する環境では、データ破損や表示エラーの原因になります。


コメント