JFP ユーザーズガイド

フィルタを用いたコード変換

現在、日本語文字コードには JFP で採用している日本語 EUC 、PCK のほかに、JIS コード、UTF8 などがあります。

Sun のネットワーク機能を使って、他のマシンからファイルをコピーしたり、また他のマシンへファイルを転送したりする場合、採用している日本語文字コードが違うとそのままでは文字化けを起こして使用できません。日本語 EUC から JIS コードへ、またはその逆など相互にファイル中の漢字コードを変換するフィルタが、このコード変換フィルタです。

Solaris では、『X/Open Portability Guide Issue 4.2 (XPG4.2)』規定に準拠した iconv コマンドがサポートされています。iconv は次のような書式で使用します。

sun% iconv -f <変換元文字コード> -t <変換先文字コード> [filename...]

JFP では、この iconv に対応した、日本語文字コード用の変換モジュールを提供しています。iconv に以下のように指定して実行すると、変換が実現されます。iconv コマンドについては、iconv(1) および iconv_ja(5) のマニュアルページも参照してください。また、iconv(3) インタフェースを使用したい開発者の方は、『JFP 開発ガイド』の第 4 章「日本語文字コード変換」もあわせて参照してください。

表 6-1 iconv コマンドによる変換

変換元文字コード 

変換先文字コード 

eucJP

PCK

eucJP

ISO-2022-JP

eucJP

ISO-2022-JP.RFC1468

eucJP

JIS7

eucJP

SJIS

eucJP

UTF-8

eucJP

UTF-8-Java

eucJP

jis

eucJP

ibmj

SJIS

eucJP

SJIS

ISO-2022-JP

SJIS

UTF-8

SJIS

jis

SJIS

ibmj

PCK

eucJP

PCK

UTF-8

PCK

UTF-8-Java

PCK

ISO-2022-JP

PCK

ISO-2022-JP.RFC1468

PCK

jis

PCK

ibmj

ISO-2022-JP

eucJP

ISO-2022-JP

PCK

ISO-2022-JP

SJIS

ISO-2022-JP

UTF-8

UTF-8

eucJP

UTF-8

SJIS

UTF-8

PCK

UTF-8

ISO-2022-JP

UTF-8

ISO-2022-JP.RFC1468

UTF-8-Java

eucJP

UTF-8-Java

PCK

JIS7

eucJP

jis

eucJP

jis

PCK

jis

SJIS

ibmj

eucJP

ibmj

PCK

ibmj

SJIS

上記の文字コードの意味は以下のとおりです。

文字コード

意味 

eucJP

日本語 EUC 

PCK

PCK 

SJIS

PCK と同じ 

ISO-2022-JP

ISO 2022 情報交換用符号による G0 への指示機能を用いて "UI-OSF 日本語環境実装規約 Version 1.1" の規定に従い表現された、ISO 646 IRV または JIS X 0201、JIS X 0208、および JIS X 0212 

ISO-2022-JP.RFC1468

ISO 2022 情報交換用符号による G0 への指示機能を用いて RFC1468 (Request for Comments: 1468 Japanese Character Encoding for Internet Messages) の規定に従い表現された、ISO 646 IRV または JIS X 0201-1976 (片仮名用図形 (キャラクタ集合を除く) および JIS X 0208-1983 

JIS7

ISO-2022-JP と同じ 

jis

JLE、JFP 2.4 以前に提供されていた 7 ビット JIS コード 

ibmj

IBM 漢字コード 

UTF-8

UNICODE 

UTF-8-Java

Java で実装されている UNICODE 

JLE 1.x からの互換性を持つコード変換フィルタのコマンドとして、次のものがあります。

表 6-2 コード変換フィルタコマンド

コマンド 

機能 

jistoeuc

JIS コードを日本語 EUC に変換 

jistosj

JIS コードを PCK に変換 

euctojis

日本語 EUC を JIS コードに変換 

euctosj

日本語 EUC を PCK に変換 

sjtojis

PCK を JIS コードに変換 

sjtoeuc

PCK を日本語 EUC に変換 

ibmjtoeuc

IBM 漢字コードを日本語 EUC に変換 

euctoibmj

日本語 EUC を IBM 日本語コードに変換 

ただし、これらには以下の制限事項があるため、通常は iconv(1) コマンドでの使用をお勧めします。