SYNOPSIS

nkf [-butjnesliohrTVvwWJESZxXFfmMBOcdILg] [file ...]

DESCRIPTION

Nkf is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as \s-1ISO-2022-JP\s0, Shift_JIS, EUC-JP, \s-1UTF-8\s0, \s-1UTF-16\s0 or \s-1UTF-32\s0.

One of the most unique faculty of nkf is the guess of the input kanji encodings. It currently recognizes \s-1ISO-2022-JP\s0, Shift_JIS, EUC-JP, \s-1UTF-8\s0, \s-1UTF-16\s0 and \s-1UTF-32\s0. So users needn't set the input kanji code explicitly.

By default, X0201 kana is converted into X0208 kana. For X0201 kana, \s-1SO/SI\s0, \s-1SSO\s0 and \s-1ESC-\s0(-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use -X, -x or -S.

OPTIONS

-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32

Specify input and output encodings. Upper case is input. cf. --ic and --oc.

-J

\s-1ISO-2022-JP\s0 (\s-1JIS\s0 code).

-S

Shift_JIS and \s-1JIS\s0 X 0201 kana. EUC-JP is recognized as X0201 kana. Without -x flag, \s-1JIS\s0 X 0201 Katakana (a.k.a.halfwidth kana) is converted into \s-1JIS\s0 X 0208. If you use Windows, see Windows-31J (\s-1CP932\s0).

-E

EUC-JP.

-W

\s-1UTF-8N\s0.

-W16[\s-1BL\s0][0]

\s-1UTF-16\s0. B or L gives whether Big Endian or Little Endian. 0 gives whther put \s-1BOM\s0 or not.

-W32[\s-1BL\s0][0]

\s-1UTF-32\s0. B or L gives whether Big Endian or Little Endian. 0 gives whther put \s-1BOM\s0 or not.

-b -u

Output is buffered (\s-1DEFAULT\s0), Output is unbuffered.

-t

No conversion.

-i[@B]

Specify the escape sequence for \s-1JIS\s0 X 0208.

-i@

Use \s-1ESC\s0 ( @. (\s-1JIS\s0 X 0208-1978)

-iB

Use \s-1ESC\s0 ( B. (\s-1JIS\s0 X 0208-1983/1990 \s-1DEFAULT\s0)

-o[\s-1BJ\s0]

Specify the escape sequence for \s-1US-ASCII/JIS\s0 X 0201 Roman. (\s-1DEFAULT\s0 B)

-r

{de/en}crypt \s-1ROT13/47\s0

-h[123] --hiragana --katakana --katakana-hiragana
-h1 --hiragana

Katakana to Hiragana conversion.

-h2 --katakana

Hiragana to Katakana conversion.

-h3 --katakana-hiragana

Katakana to Hiragana and Hiragana to Katakana conversion.

-T

Text mode output (MS-DOS)

-f[m [- n]]

Folding on m length with n margin in a line. Without this option, fold length is 60 and fold margin is 10.

-F

New line preserving line folding.

-Z[0-3]

Convert X0208 alphabet (Fullwidth Alphabets) to \s-1ASCII\s0.

-Z -Z0

Convert X0208 alphabet to \s-1ASCII\s0.

-Z1

Convert X0208 kankaku to single \s-1ASCII\s0 space.

-Z2

Convert X0208 kankaku to double \s-1ASCII\s0 spaces.

-Z3

Replacing fullwidth >, <, ", & into '>', '<', '"', '&' as in \s-1HTML\s0.

-X -x

With -X or without this option, X0201 is converted into X0208 Kana. With -x, try to preserve X0208 kana and do not convert X0201 kana to X0208. In \s-1JIS\s0 output, \s-1ESC-\s0(-I is used. In \s-1EUC\s0 output, \s-1SS2\s0 is used.

-B[0-2]

Assume broken JIS-Kanji input, which lost \s-1ESC\s0. Useful when your site is using old B-News Nihongo patch.

-B1

allows any chars after \s-1ESC-\s0( or \s-1ESC-$\s0.

-B2

force \s-1ASCII\s0 after \s-1NL\s0.

-I

Replacing non iso-2022-jp char into a geta character (substitute character in Japanese).

-m[\s-1BQN0\s0]

\s-1MIME\s0 \s-1ISO-2022-JP/ISO8859-1\s0 decode. (\s-1DEFAULT\s0) To see \s-1ISO8859-1\s0 (Latin-1) -l is necessary.

-mB

Decode \s-1MIME\s0 base64 encoded stream. Remove header or other part before conversion.

-mQ

Decode \s-1MIME\s0 quoted stream. '_' in quoted stream is converted to space.

-mN

Non-strict decoding. It allows line break in the middle of the base64 encoding.

-m0

No \s-1MIME\s0 decode.

-M

\s-1MIME\s0 encode. Header style. All \s-1ASCII\s0 code and control characters are intact.

-MB

\s-1MIME\s0 encode Base64 stream. Kanji conversion is performed before encoding, so this cannot be used as a picture encoder.

-MQ

Perform quoted encoding.

-l

Input and output code is \s-1ISO8859-1\s0 (Latin-1) and \s-1ISO-2022-JP\s0. -s, -e and -x are not compatible with this option.

-L[uwm] -d -c

Convert line breaks.

-Lu -d

unix (\s-1LF\s0)

-Lw -c

windows (\s-1CRLF\s0)

-Lm

mac (\s-1CR\s0) Without this option, nkf doesn't convert line breaks.

--fj --unix --mac --msdos --windows

Convert for these systems.

--jis --euc --sjis --mime --base64

Convert to named code.

--jis-input --euc-input --sjis-input --mime-input --base64-input

Assume input system

--ic=input codeset --oc=output codeset

Set the input or output codeset. \s-1NKF\s0 supports following codesets and those codeset names are case insensitive.

\s-1ISO-2022-JP\s0

a.k.a. \s-1RFC1468\s0, 7bit \s-1JIS\s0, \s-1JUNET\s0

EUC-JP (eucJP-nkf)

a.k.a. \s-1AT&T\s0 \s-1JIS\s0, Japanese \s-1EUC\s0, \s-1UJIS\s0

eucJP-ascii
eucJP-ms
\s-1CP51932\s0

Microsoft Version of EUC-JP.

Shift_JIS

a.k.a. \s-1SJIS\s0, MS_Kanji

Windows-31J

a.k.a. \s-1CP932\s0

\s-1UTF-8\s0

same as \s-1UTF-8N\s0

\s-1UTF-8N\s0

\s-1UTF-8\s0 without \s-1BOM\s0

\s-1UTF-8-BOM\s0

\s-1UTF-8\s0 with \s-1BOM\s0

\s-1UTF8-MAC\s0 (input only)

decomposed \s-1UTF-8\s0

\s-1UTF-16\s0

same as \s-1UTF-16BE\s0

\s-1UTF-16BE\s0

\s-1UTF-16\s0 Big Endian without \s-1BOM\s0

\s-1UTF-16BE-BOM\s0

\s-1UTF-16\s0 Big Endian with \s-1BOM\s0

\s-1UTF-16LE\s0

\s-1UTF-16\s0 Little Endian without \s-1BOM\s0

\s-1UTF-16LE-BOM\s0

\s-1UTF-16\s0 Little Endian with \s-1BOM\s0

\s-1UTF-32\s0

same as \s-1UTF-32BE\s0

\s-1UTF-32BE\s0

\s-1UTF-32\s0 Big Endian without \s-1BOM\s0

\s-1UTF-32BE-BOM\s0

\s-1UTF-32\s0 Big Endian with \s-1BOM\s0

\s-1UTF-32LE\s0

\s-1UTF-32\s0 Little Endian without \s-1BOM\s0

\s-1UTF-32LE-BOM\s0

\s-1UTF-32\s0 Little Endian with \s-1BOM\s0

--fb-{skip, html, xml, perl, java, subchar}

Specify the way that nkf handles unassigned characters. Without this option, --fb-skip is assumed.

--prefix=escape charactertarget character..

When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters.

--no-cp932ext

Handle the characters extended in \s-1CP932\s0 as unassigned characters.

--no-best-fit-chars

When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and -x option, nkf can be used as \s-1UTF\s0 converter. (In other words, without this and -x option, nkf doesn't save some characters) When nkf converts strings that related to path, you should use this opion.

--cap-input

Decode hex encoded characters.

--url-input

Unescape percent escaped characters.

--numchar-input

Decode character reference, such as \*(L"&#....;\*(R".

--in-place[=\s-1SUFFIX\s0] --overwrite[=\s-1SUFFIX\s0]

Overwrite original listed files by filtered result. Note --overwrite preserves timestamps of original files.

--guess=[12]

Print guessed encoding and newline. (2 is default, 1 is only encoding)

--help

Print nkf's help.

--version

Print nkf's version.

--

Ignore rest of -option.

AUTHOR

Copyright (c) 1987, Fujitsu \s-1LTD\s0. (Itaru \s-1ICHIKAWA\s0).

Copyright (c) 1996-2013, The nkf Project.