1

名称

3     wkf — WALL's Kanji Filter - 漢字コード変換フィルタ
4

書式

6     wkf [-{j|e|s|c|C}] [-mxzALT] [-{J|E|S}] [-{M|D|U}] [<file>...]
7

解説

9     wkf とは、日本語漢字コード変換フィルタです。
10
11     日本語 EUC、シフト JIS、JIS (JIS C 6226-1978, JIS X 0208-1983, JIS X
12     0208-1990, JIS X 0212-1990) のそれぞれのコード系の相互変換を行います。JIS
13     片仮名(SJIS 半角 カナ)文字にも対応しており、自動的に 2byte
14     コードの片仮名に変換します。
15
16     入力漢字コードは自動判別し、SJIS
17     半角カナ文字が含まれていても正しく判別します。
18     また、漢字コードの判別だけの使い方も可能です。2byte 英数字を 1byte
19     英数字に変換 する機能もあります。
20
21     ただし、シフト JIS と日本語 EUC
22     コードが重複するコード空間だけからなる文書の
23     場合には、漢字コードを正しく判別できないことがあります。そのときは、デフォルト
24     では make 時に設定したコードとして判別します。
25
26     また、入力時のファイルの行末が復帰+改行コード(DOS ファイル)や復帰コード
27     (Macintosh ファイル)の場合は自動的に改行コードに変換されて処理されます。
28     ファイルの漢字コードの置換も可能です。
29
30

オプション

32     -h      wkf の簡単な説明を表示します。
33
34     -v      wkf のバージョン情報を表示します。
35
36     -j      出力漢字コードを JIS (JIS X 0208-1983) コードにします。
37
38     -e      出力漢字コードを日本語 EUC コードにします。
39
40     -s      出力漢字コードをシフト JIS コードにします。
41
42     -c      変換出力を行わずに、入力コードの判定のみを行います。
43             判定結果による戻り値は以下のとおりです。
44
45
46                  戻り値      |            説明
47             -----------------+-------------------------------------------------
48             ascii            | ISO 646-1991 ASCII
49             oldjis           | JIS C 6226-1978 (旧JIS)
50             newjis           | JIS X 0208-1983 (新JIS)
51             jis1990          | JIS X 0208-1990
52             euc-jp           | 日本語 EUC コード
53             sjis             | Shift-JIS コード
54             euc-jp/sjis      | 日本語 EUC or Shift-JIS コード
55             data             | おそらくバイナリコードかデータ
56             unknown          | 漢字コード判別不能 (ほぼ data に同じ)
57             -----------------+-------------------------------------------------
58             jisx0201(roma)   | JIS X 0201-1976 (ローマ字)だけ (含 ASCII コード)
59             jisx0201(kana)   | JIS X 0201-1976 (カナ)    だけ (含 ASCII コード)
60             jisx0212         | JIS X 0212-1990 (補助漢字)だけ (含 ASCII コード)
61             -----------------+-------------------------------------------------
62             oldjis+jisx0201  | JIS C 6226-1978 (旧JIS) + JIS X 0201-1976(カナ)
63             oldjis+jisx0212  | JIS C 6226-1978 (旧JIS) + JIS X 0212-1990(補助)
64             oldjis(broken)   | JIS C 6226-1978 (旧JIS)   (おそらく壊れている)
65             newjis+jisx0201  | JIS X 0208-1983 (新JIS) + JIS X 0201-1976(カナ)
66             newjis+jisx0212  | JIS X 0208-1983 (新JIS) + JIS X 0212-1990(補助)
67             newjis(broken)   | JIS X 0208-1983 (新JIS)   (おそらく壊れている)
68             jis1990+jisx0212 | JIS X 0208-1990         + JIS X 0212-1990(補助)
69             jis1990(broken)  | JIS X 0208-1990           (おそらく壊れている)
70             euc-jp+jisx0212  | 日本語 EUC コード       + JIS X 0212-1990(補助)
71             euc-jp(broken)   | 日本語 EUC コード         (おそらく壊れている)
72             sjis(broken)     | Shift-JIS コード          (おそらく壊れている)
73             -----------------+-------------------------------------------------
74
75             ※ data
76             が返されるのは、入力ファイルがバイナリかデータファイルなどの場合です。
77
78             ※ unknown が返されるのは、入力ファイルがバイナリ、ディレクトリ、
79             スペシャル・ファイルなどの場合です。
80
81     -C      変換出力を行わずに、入力コードの判定のみを行います。
82             このとき、入力ファイル名も表示します。
83
84     -m      MIME エンコード文字列(=?ISO-2022-JP?B?......?=
85             のような文字列)を デコードします。
86
87     -x      URI エンコード文字列をデコードします。
88
89     -z      入力に 2byte 英数字が含まれていれば 1byte 英数字に変換します。
90             (つまり A→A, 0→0 という変換を行います。)
91
92     -A      ファイル内容をコード変換して置き換えます。入力ファイルは .bak
93             の拡張子をつけた
94             名前で保存されます。コード変換の必要のない場合あるいは不可能の場合は、ファイル
95             の置き換えは行われません。変換後のファイルのパーミッションは入力ファイルと同一
96             のものになります。
97
98     -L      漢字コード変換を行単位で行います。
99             ブラウザのブックマークファイルなど行単位で漢字コードの違うファイルの
100             漢字コード変換に有効です。ただし、動作は遅くなります。
101
102     -T      置き換えたファイルのタイムスタンプを入力ファイルと同一にします。
103             -A オプションと同時に指定しないと意味を持ちません。
104
105     -J      入力コードの自動判別を行わず、常に入力漢字コードを JIS
106             として扱います。しかし、 -c および -C
107             オプションと併用した場合は、意味を持ちません。
108
109     -E      入力コードの自動判別を行わず、常に入力漢字コードを日本語 EUC
110             として扱います。 しかし、 -c および -C
111             オプションと併用した場合は、意味を持ちません。
112
113     -S      入力コードの自動判別を行わず、常に入力漢字コードをシフト JIS
114             として扱います。 しかし、 -c および -C
115             オプションと併用した場合は、意味を持ちません。
116
117     -M      出力コードの行末を復帰(CR)コード(Macintosh 形式)にします。
118
119
120     -D      出力コードの行末を復帰+改行(CR+LF)コード(DOS 形式)にします。
121
122
123     出力コードの行末を改行(LF)コード(Unix 形式)にします。
124
125

実行例

127     1.   README を日本語 EUC コードに変換し README.euc ファイルに保存します。
128
129                % cat README | wkf -e > README.euc
130
131     2.   README を JIS コードに変換し、入力ファイルを README.bak
132          で保存します。
133
134                % wkf -Aj README
135
136     3.   README を JIS コードに変換し、入力ファイルを README.bak
137          で保存します。
138          このとき、出力ファイルのタイムスタンプを入力ファイルと同一にします。
139
140                % wkf -ATj README
141
142     4.   README を日本語 EUC コード、また 2byte 英数字を 1byte
143          英数字に変換します。
144
145                % wkf -ze README > README.euc
146
147     5.   README をシフト JIS コードに変換し、行末は CR(Macintosh
148          形式)とします。
149
150                % wkf -sM README > README.mac
151
152     6.   README をシフト JIS コードに変換し、行末は CR+LF(DOS 形式)とします。
153
154                % wkf -sD README > README.dos
155
156          README ファイルの漢字コードチェックを行います。
157
158                % wkf -c README
159
160

バグ(仕様)

162     シフト JIS コードでの JIS X 0201-1976(半角カナ)だけの文書の場合、日本語
163     EUC
164     コードの文書との判別が正しく行われないことがあります。その場合、誤った漢字コー
165     ド変換を行うことがあります。
166
167     -S -E オプションを指定した場合、処理が不安定になることがあります。
168
169

関連コマンド

171     ack(1), nkf(1) kcc(1)
172
173

著作権

175     Copyright (c) 1997-2005 阿部康一/Kouichi ABE (WALL), All rights
176     reserved. <kouichi@MysticWALL.COM>
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
Impressum