Linux共通

Linux文字コード確認するコマンドとファイルについて徹底解説!手を動かして覚えよう!

みなさんこんばんわミツです。今回はLinuxの文字コードについて解説していきたいと思います。

文字コードとは

文字コードとは、コンピュータ上で文字を利用するために各文字に割り当てたバイトコードのこと。

文字コードの種類について

多くのLinuxディストリビューションでは、文字コードとしてUTF-8を使用しています。ただWindowsなどの別OSで作成したファイルをLinuxに移動させて開くとなると文字コードが違うといったことになり文字化けする要因となったりします。そのため複数の文字コードを理解する必要があります。よく利用される文字コードの種類は下記となります。

文字コード 説明
ASCII 7ビットで表現される、128種類の英数字、記号、制御コードです
Unicode 32ビットで表現される。1つの文字コード体系で多言語処理を可能にするための文字コードです
UTF-8 Unicodeを使用した文字コード。1文字を1バイトから6バイトで表現できます
EUC-JP UNIX環境で標準的に使用していた日本語の文字コードです
Shift-JIS WindowsやMacOSで使用される日本語の文字コードです
ISO-2022-JP 電子メールなどでよく使用される日本語の文字コード(JISコード)です
ISO-8859 ASCIIを拡張した8ビットの文字コードで256種類の文字を表現できます

fileコマンド

ファイル形式を調べるためのコマンドです。 テキストファイルの場合は、文字コードが表示されます。

書式

書式は以下となります。

$file [オプション] ファイル1 ファイル2

オプション

オプション 説明
-b 行の最初にファイル名を出力しない
-i mimeタイプ文字列で出力します
-L シンボリックリンクを辿るようにします
-N 出力時に空白の追加を行わない
 -n 1つのファイルをチェックするごとに標準出力に出力します
 -z  圧縮ファイルの中もチェックします

実行例

freeの実行結果を紹介していきます。

-b

linux-command-file-b

行の最初にファイル名を出力しない

-i

linux-command-file-i

mimeタイプ文字列で出力します

-L

linux-command-frle-L

シンボリックリンクを辿るようにします

-N

linux-command-frle-N

出力時に空白の追加を行わない

 -n

linux-command-frle--n

1つのファイルをチェックするごとに標準出力に出力します

 -z

linux-command-file-z

圧縮ファイルの中もチェックします

iconv

文字コードを変換して表示するコマンドです。

書式

書式は下記となります。

$iconv [オプション] [ファイル名]

オプション

オプション 説明
-f ( --from-code) 入力のエンコーディングを指定します
-t(--to-code) 出力のエンコーディングを指定します
-c 変換できなかった文字を出力しない
-s (--silent) 変換できなかった場合にエラーメッセージを表示しない
--verbose 処理中のメッセージ(ファイル名など)を表示する
-o(--output) 保存先のファイル指定します
-l (--list) 対応しているコードを表示します

実行例

-f ( --from-code)、-t(--to-code)、-o

UTF-8のfile1ファイルをEUC-JPの文字コードへ変換してfile2に出力します。

$ iconv -f UTF-8 -t EUC-JP file1 -o file2

linux-command-iconv-f-t-o

-c

変換できなかった文字を出力しない

$ iconv -c -f SJIS -t UTF-8 file1

linux-command-iconv-c

-s (--silent)

変換できなかった場合にエラーメッセージを表示しない

$ iconv -s -f UTF-8 -t EUC-JP file1 -o file2

linux-command-iconv-s

--verbose

処理中のメッセージ(ファイル名など)を表示する

$ iconv --verbose -f UTF-8 -t EUC-JP file1 -o file2

-l(--list)

処理中のメッセージ(ファイル名など)を表示する

linux-command-iconv-l

nkf

文字コード変更してくれるコマンドです。

※インストールする必要がある。apt-get install nkf

オプション

オプション 説明
-j JISコードを出力します
-e EUCコードを出力します
-s Shift_JISコードを出力します
-w UTF8コードを出力します
-g ファイルの文字コードタイプを判別します

実行例

実行例は下記となります。

-j

linux-command-nkf-j

JISコードを出力します

-e

linux-command-nkf-e

EUCコードを出力します

-s

linux-command-nkf-s

Shift_JISコードを出力します

-w

linux-command-nkf-w

UTF8コードを出力します

-g

linux-command-nkf-g

ファイルの文字コードタイプを判別します

vi/vim

Linuxのテキストを編集するコマンドです。

そこで利用できる文字コードを変換するコマンドが下記となります。

書式

:set fileencoding=文字コード

:set fenc=文字コード

実行例

linux-command-vi-setencoding

viコマンドで開いた後,「set encoding=utf-8」を実行すると変更します。

まとめ

まとめは以下になります。

・文字には文字コードというものがある。

・違うOS間でのファイルの移動や、ブラウザ閲覧で文字化けがよく起こる
・コマンドを正しく利用し、文字コードの変換を行えば閲覧できるような状態にできる。

以上になります。文字コードについては意識することなく使えていますが、たまにソフト間の差異により文字化けが起きたりするので対処法を把握しておいたほうが良いです。

本ブログでは他のLinuxについての記事も執筆しているのでよろしければご覧ください。

https://server-beginner.com/linux-search-topic/

  • この記事を書いた人
  • 最新記事

ミツ

サーバ初心者向け「server-beginner」を運営する「ミツ」と申します。 Linux系やwindows系などのサーバに関する部分をメインで執筆していきますので、興味ある方はぜひご覧いただけますと幸いです。 <経歴> 専門学校卒業後、ネットワーク、インフラ、プログラミングを一通り経験。 当メディアでは主にLinux分野に関する内容を発信していきます。

-Linux共通