逆引きUNIXコマンド/日本語文字コードの変換を行う・nkf
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 日本語文字コードの変換を行う・nkfコマンド [#d80d52ed]
nkfコマンドを使用すると、文字コードの変換を行うことができ...
以下に、nkfコマンドを使用して各種日本語文字コードの変換実...
使用したOSはCentOSになります。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事・関連資料 [#ufa3b830]
-[[改行コードを変更したい>逆引きUNIXコマンド/改行コードを...
-[[文字コードを調べる・kccコマンド>逆引きUNIXコマンド/文...
-[[日本語文字コードを調べる・nkfコマンド>逆引きUNIXコマン...
-[[aliasコマンドを使用して改行コード変換コマンドを登録す...
* UTF-8から各種日本語の文字コードに変換してみる [#j16ad18e]
以下のようなUTF-8で作成した文字を格納したテキストファイル...
$ cat aiueo-utf8.txt
aiueo
あいうえお
kakikukeko
かきくけこ
sasisuseso
さしすせそ
tatituteto
たちつてと
以降、このファイルを各種日本語文字コードに変換してみます。~
注意~
デフォルトでは改行コードは変換されません。
** UTF-8からSJIS [#l89a21f3]
以下のコマンドによりShift_JISに変更されます。~
cat 入力ファイル名 | nkf -s > 出力ファイル名
または、
nkf -s < 入力ファイル名 > 出力ファイル名
または、
nkf -s 入力ファイル名 > 出力ファイル名
実行例
$ cat aiueo-utf8.txt | nkf -s > aiueo-sjis.txt
$ kcc -c aiueo-sjis.txt
aiueo-sjis.txt: shift-JIS
$ nkf -g aiueo-sjis.txt
Shift_JIS
上記の-sオプションは出力の文字コードをShift_JISとして出力...
入力の文字コードも明示的に指定する場合は、以下のように-W...
(文字コードの自動判定がうまく動作しない場合)
cat 入力ファイル名 | nkf -W -s > 出力ファイル名
または、
nkf -W -s < 入力ファイル名 > 出力ファイル名
または、
nkf -W -s 入力ファイル名 > 出力ファイル名
実行例
$ nkf -W -s < aiueo-utf8.txt > aiueo-sjis2.txt
$ kcc -c aiueo-sjis2.txt
aiueo-sjis2.txt: shift-JIS
$ nkf -g aiueo-sjis2.txt
Shift_JIS
** SJISをUTF-8に変換 [#u77a2aa7]
上記のコマンドで作成されたaiueo-sjis.txtを使用してUTF-8に...
以下の実行例のようにオプションをつなげて記述することも可...
オプション-wは出力をUTF-8でオプション-Sは入力をShift_JIS...
$ nkf -wS aiueo-sjis.txt > aiueo-utf8-2.txt
$ diff aiueo-utf8-2.txt aiueo-utf8.txt
** EUCやJISに変換する方法 [#qf0fa6dd]
EUC関しては以下のようになります。~
尚、以下の構文は入力文字コードを明示的に指定していない例...
nkf -e 入力ファイル > 出力ファイル
または、
nkf -e < 入力ファイル名 > 出力ファイル名
または、
nkf -e 入力ファイル名 > 出力ファイル名
実行例
$ nkf -e aiueo-utf8.txt > aiueo-euc.txt
$ nkf -g aiueo-euc.txt
EUC-JP
JISに関しては以下のようになります。
尚、以下の構文は入力文字コードを明示的に指定していない例...
nkf -j 入力ファイル > 出力ファイル
または、
nkf -j < 入力ファイル名 > 出力ファイル名
または、
nkf -j 入力ファイル名 > 出力ファイル名
実行例
$ nkf -j aiueo-utf8.txt > aiueo-jis.txt
$ nkf -g aiueo-jis.txt
ISO-2022-JP
* 改行コードの変換 [#dbfce959]
改行コードの変換オプションは以下の通りです。
|オプション|動作|
|-Lu -d|LF|
|-Lw -c|CRLF|
|-Lm|CR|
実際に改行コードも変換してみます。~
改行コードの確認方法については、いかのような資料を公開し...
-[[改行コードの確認方法>逆引きUNIXコマンド/改行コードの確...
入力ファイルは上記で使用したaiueo-utf8.txtを使用します。~
改行コードはLFになります。
$ cat aiueo-utf8.txt
aiueo
あいうえお
kakikukeko
かきくけこ
sasisuseso
さしすせそ
tatituteto
たちつてと
$ cat -v aiueo-utf8.txt
aiueo
M-cM-^AM-^BM-cM-^AM-^DM-cM-^AM-^FM-cM-^AM-^HM-cM-^AM-^J
kakikukeko
M-cM-^AM-^KM-cM-^AM-^MM-cM-^AM-^OM-cM-^AM-^QM-cM-^AM-^S
sasisuseso
M-cM-^AM-^UM-cM-^AM-^WM-cM-^AM-^YM-cM-^AM-^[M-cM-^AM-^]
tatituteto
M-cM-^AM-^_M-cM-^AM-!M-cM-^AM-$M-cM-^AM-&M-cM-^AM-(
以下の実行例は、UTF-8で改行がLFのファイルをSJISで改行がCR...
オプション -Lw -cで改行コードをCRLFに変換するように指定し...
$ cat aiueo-utf8.txt | nkf -s -Lw -c > aiueo-sjis-crlf.txt
変換後の確認です。~
文字コードはSJISに変換されました。~
$ nkf -g aiueo-sjis.txt
Shift_JIS
catコマンドの-vオプションを使って特殊文字を表示するように...
文字列末尾にある^MによりCRが追加されているのが確認できま...
$ cat -v aiueo-sjis-crlf.txt
aiueo^M
M-^BM- M-^BM-"M-^BM-$M-^BM-&M-^BM-(^M
kakikukeko^M
M-^BM-)M-^BM-+M-^BM--M-^BM-/M-^BM-1^M
sasisuseso^M
M-^BM-3M-^BM-5M-^BM-7M-^BM-9M-^BM-;^M
tatituteto^M
M-^BM-=M-^BM-?M-^BM-BM-^BM-DM-^BM-F^M
他の改行オプションについての実行例は省略しますが、上記実...
* nkfのオプション(抜粋) [#b788e58f]
詳細なnkfのオプションはmanコマンドにて確認して頂くとして...
|オプション|機能|
|-j|JISコードを出力する。|
|-e|EUCコードを出力する。|
|-s|Shift_JISコードを出力する。|
|-w|UTF8コードを出力する。(BOM 無し)|
|-J|入力のコードをISO-2022-JPと仮定する。|
|-E|入力のコードをEUC-JPと仮定する。|
|-S|入力のコードをShift_JISと仮定する。|
|-W|入力のコードをUTF-8と仮定する。|
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 日本語文字コードの変換を行う・nkfコマンド [#d80d52ed]
nkfコマンドを使用すると、文字コードの変換を行うことができ...
以下に、nkfコマンドを使用して各種日本語文字コードの変換実...
使用したOSはCentOSになります。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事・関連資料 [#ufa3b830]
-[[改行コードを変更したい>逆引きUNIXコマンド/改行コードを...
-[[文字コードを調べる・kccコマンド>逆引きUNIXコマンド/文...
-[[日本語文字コードを調べる・nkfコマンド>逆引きUNIXコマン...
-[[aliasコマンドを使用して改行コード変換コマンドを登録す...
* UTF-8から各種日本語の文字コードに変換してみる [#j16ad18e]
以下のようなUTF-8で作成した文字を格納したテキストファイル...
$ cat aiueo-utf8.txt
aiueo
あいうえお
kakikukeko
かきくけこ
sasisuseso
さしすせそ
tatituteto
たちつてと
以降、このファイルを各種日本語文字コードに変換してみます。~
注意~
デフォルトでは改行コードは変換されません。
** UTF-8からSJIS [#l89a21f3]
以下のコマンドによりShift_JISに変更されます。~
cat 入力ファイル名 | nkf -s > 出力ファイル名
または、
nkf -s < 入力ファイル名 > 出力ファイル名
または、
nkf -s 入力ファイル名 > 出力ファイル名
実行例
$ cat aiueo-utf8.txt | nkf -s > aiueo-sjis.txt
$ kcc -c aiueo-sjis.txt
aiueo-sjis.txt: shift-JIS
$ nkf -g aiueo-sjis.txt
Shift_JIS
上記の-sオプションは出力の文字コードをShift_JISとして出力...
入力の文字コードも明示的に指定する場合は、以下のように-W...
(文字コードの自動判定がうまく動作しない場合)
cat 入力ファイル名 | nkf -W -s > 出力ファイル名
または、
nkf -W -s < 入力ファイル名 > 出力ファイル名
または、
nkf -W -s 入力ファイル名 > 出力ファイル名
実行例
$ nkf -W -s < aiueo-utf8.txt > aiueo-sjis2.txt
$ kcc -c aiueo-sjis2.txt
aiueo-sjis2.txt: shift-JIS
$ nkf -g aiueo-sjis2.txt
Shift_JIS
** SJISをUTF-8に変換 [#u77a2aa7]
上記のコマンドで作成されたaiueo-sjis.txtを使用してUTF-8に...
以下の実行例のようにオプションをつなげて記述することも可...
オプション-wは出力をUTF-8でオプション-Sは入力をShift_JIS...
$ nkf -wS aiueo-sjis.txt > aiueo-utf8-2.txt
$ diff aiueo-utf8-2.txt aiueo-utf8.txt
** EUCやJISに変換する方法 [#qf0fa6dd]
EUC関しては以下のようになります。~
尚、以下の構文は入力文字コードを明示的に指定していない例...
nkf -e 入力ファイル > 出力ファイル
または、
nkf -e < 入力ファイル名 > 出力ファイル名
または、
nkf -e 入力ファイル名 > 出力ファイル名
実行例
$ nkf -e aiueo-utf8.txt > aiueo-euc.txt
$ nkf -g aiueo-euc.txt
EUC-JP
JISに関しては以下のようになります。
尚、以下の構文は入力文字コードを明示的に指定していない例...
nkf -j 入力ファイル > 出力ファイル
または、
nkf -j < 入力ファイル名 > 出力ファイル名
または、
nkf -j 入力ファイル名 > 出力ファイル名
実行例
$ nkf -j aiueo-utf8.txt > aiueo-jis.txt
$ nkf -g aiueo-jis.txt
ISO-2022-JP
* 改行コードの変換 [#dbfce959]
改行コードの変換オプションは以下の通りです。
|オプション|動作|
|-Lu -d|LF|
|-Lw -c|CRLF|
|-Lm|CR|
実際に改行コードも変換してみます。~
改行コードの確認方法については、いかのような資料を公開し...
-[[改行コードの確認方法>逆引きUNIXコマンド/改行コードの確...
入力ファイルは上記で使用したaiueo-utf8.txtを使用します。~
改行コードはLFになります。
$ cat aiueo-utf8.txt
aiueo
あいうえお
kakikukeko
かきくけこ
sasisuseso
さしすせそ
tatituteto
たちつてと
$ cat -v aiueo-utf8.txt
aiueo
M-cM-^AM-^BM-cM-^AM-^DM-cM-^AM-^FM-cM-^AM-^HM-cM-^AM-^J
kakikukeko
M-cM-^AM-^KM-cM-^AM-^MM-cM-^AM-^OM-cM-^AM-^QM-cM-^AM-^S
sasisuseso
M-cM-^AM-^UM-cM-^AM-^WM-cM-^AM-^YM-cM-^AM-^[M-cM-^AM-^]
tatituteto
M-cM-^AM-^_M-cM-^AM-!M-cM-^AM-$M-cM-^AM-&M-cM-^AM-(
以下の実行例は、UTF-8で改行がLFのファイルをSJISで改行がCR...
オプション -Lw -cで改行コードをCRLFに変換するように指定し...
$ cat aiueo-utf8.txt | nkf -s -Lw -c > aiueo-sjis-crlf.txt
変換後の確認です。~
文字コードはSJISに変換されました。~
$ nkf -g aiueo-sjis.txt
Shift_JIS
catコマンドの-vオプションを使って特殊文字を表示するように...
文字列末尾にある^MによりCRが追加されているのが確認できま...
$ cat -v aiueo-sjis-crlf.txt
aiueo^M
M-^BM- M-^BM-"M-^BM-$M-^BM-&M-^BM-(^M
kakikukeko^M
M-^BM-)M-^BM-+M-^BM--M-^BM-/M-^BM-1^M
sasisuseso^M
M-^BM-3M-^BM-5M-^BM-7M-^BM-9M-^BM-;^M
tatituteto^M
M-^BM-=M-^BM-?M-^BM-BM-^BM-DM-^BM-F^M
他の改行オプションについての実行例は省略しますが、上記実...
* nkfのオプション(抜粋) [#b788e58f]
詳細なnkfのオプションはmanコマンドにて確認して頂くとして...
|オプション|機能|
|-j|JISコードを出力する。|
|-e|EUCコードを出力する。|
|-s|Shift_JISコードを出力する。|
|-w|UTF8コードを出力する。(BOM 無し)|
|-J|入力のコードをISO-2022-JPと仮定する。|
|-E|入力のコードをEUC-JPと仮定する。|
|-S|入力のコードをShift_JISと仮定する。|
|-W|入力のコードをUTF-8と仮定する。|
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: