superclass=
type=module
library=nkf
extended=
included=

nkf(Network Kanji code conversion Filter, [[url:http://sourceforge.jp/projects/nkf/]]) 
Ruby ȤΥ⥸塼Ǥ

Ruby 1.8.2 ʹߤǤ nkf  2.0 ʹߤޤƤޤ

=== Ȥ

ʲϡѴޥɤǤ

  #!/usr/local/bin/ruby
  
  require 'nkf'
  
  opt = ''
  opt = ARGV.shift if ARGV[0][0] == ?-
  
  while line = ARGF.gets
    print NKF.nkf(opt, line)
  end

ʲϡȽ̥ޥɤǤ

  #!/usr/local/bin/ruby
  
  require 'nkf'
  
  CODES = {
    NKF::JIS      => "JIS",
    NKF::EUC      => "EUC",
    NKF::SJIS     => "SJIS",
    NKF::UTF8     => "UTF8",
    NKF::BINARY   => "BINARY",
    NKF::ASCII    => "ASCII",
    NKF::UNKNOWN  => "UNKNOWN",
  }
  
  while file = ARGV.shift
    str = open(file) {|io| io.gets(nil) }
    
    printf "%-10s ", file
    if str.nil?
      puts "EMPTY"
    else
      puts CODES.fetch(NKF.guess(str))
    end
  end

=== ץʸ

==== Ruby 1.8.2 ʹ

  -b ϤХåե󥰤(ǥե)
  -u ϤХåե󥰤ʤ
  -j -s -e -w -w16 Ϥ륨󥳡ǥ󥰤ꤹ
    -j ISO-2022-JP (7bit JIS) Ϥ(ǥե)
    -s Shift_JIS Ϥ
    -e EUC-JP Ϥ
    -w UTF-8 Ϥ(BOMʤ)
    -w16 UTF-16 LE Ϥ 
  -J -S -E -W -W16 ʸΥ󥳡ǥ󥰤οͤꤹ롣
    -J Ϥ JIS ꤹ
    -S Ϥ Shift_JIS  X0201Ҳ̾(ȾҲ̾)
       ꤹ롣-xꤷʤX0201Ҳ̾(ȾҲ̾)X0208
       Ҳ̾(Ҳ̾)Ѵ
    -E Ϥ EUC-JP ꤹ
    -W Ϥ UTF-8 ꤹ
    -W16 Ϥ UTF-16LE ꤹ
  -t Ѵʤ
  -i_ JIS ؼ륷󥹤ꤹ롣 (ǥեȤB(EUC-$-B))
  -o_ 1 ХȱѿʸåȤؼ륷󥹤ꤹ롣 (ǥեȤB(EUC-(-B))
  -r ROT13/47Ź沽/沽򤹤
  -h1 --hiragana Ҳ̾ʿ̾Ѵ
  -h2 --katakana ʿ̾Ҳ̾Ѵ
  -h3 --katakana-hiragana Ҳ̾ʿ̾ˡʿ̾Ҳ̾Ѵ
  -T ƥȥ⡼ɤǽϤ(MS-DOSǤΤͭ)
  -l 0x80-0xfe Υɤ ISO-8859-1 (Latin-1) Ȥư
  -f[m-[n]] 1Ԥmʸˤʤ褦nΥޡ롣ǥեȤm60n10
  -F ˲Ԥݻ
  -Z[0-3] X0208 ե٥åȤ ASCII Ѵ
    -Z -Z0 X0208 ե٥åȤ ASCII Ѵ
    -Z1 X0208(Ѷ) ASCII ζѴ
    -Z2 X0208(Ѷ) ASCII ζ2ĤѴ
    -Z3 X0208Ρ䡢㡢ɡ '&gt;', '&lt;', '&quot;', '&amp;' Ѵ
  -X X0201Ҳ̾(ȾҲ̾)X0208Ҳ̾(Ҳ̾)Ѵ
  -x X0201Ҳ̾(ȾҲ̾)X0208Ҳ̾(Ҳ̾)Ѵ
     Ϥ롣ISO-2022-JP ǽϤȤ ESC-(-I EUC-JPǽϤȤ SSO Ȥ
  -B[0-2] Ϥ ESC ä褦ʲ줿 JIS ꤹ롣
    -B1 ESC-(, ESC-$ ΤȤΥɤʤ
    -B2 ԤΤȤ˶Ū ASCII ᤹
  -I ISO-2022-JP ʳδɤ򢮤Ѵ
  -L[uwm] -d -c ԤѴ롣ǥեȤǤѴʤ
    -Lu -d ԤȤ LF Ϥ
    -Lw -c ԤȤ CRLF Ϥ
    -Lm ԤȤ CR Ϥ
  -m[BQN0] MIMEɤ롣
    -m (ǥե) ISO-2022-JP (B encode)  ISO-8859-1 (Q encode) ɤ(ǥե)
    -mB MIME base64 stream ɤ롣إåʤɤϥ᥽åɤϤ˼ɬפ롣
    -mQ MIME quoted stream ɤ롣
    -mN MIME Υåˤ롣base64˲ԤäƤɤ
    -m0 MIME βɤڤʤ󥳡ǥ󥰤ѴΤߤ򤹤ʤФꤷƤ٤
       Ǥ롣
  -M MIME Ѵ롣󥳡ɤѴԤäƤ MIMEѴ롣
    -MB base64 Ѵ
    -MQ quoted stream Ѵ
  --fj --unix --mac --msdos  --windows ΥƥŬѴ򤷤ޤ
  --jis --euc --sjis --mime --base64 бѴ򤷤ޤ
  --jis-input --euc-input --sjis-input --mime-input --base64-input Ϥꤷޤ
  --ic=input_codeset --oc=output-codeset ϡϤ줾Υ󥳡ǥ󥰤ꤷޤ
                                         ʲΥ󥳡ǥ󥰤ѲǽǤ
                                         Ǥ̾λˤʸʸ̵뤵ޤ
    ISO-2022-JP
    EUC-JP
    eucJP-ascii
    eucJP-ms
    CP51932
    Shift_JIS
    CP932
    UTF-8 UTF-8NƱ
    UTF-8N
    UTF-8-BOM
    UTF-16 UTF-16BE-BOMƱ
    UTF-16BE 
    UTF-16BE-BOM
    UTF-16LE
    UTF-16LE-BOM
    UTF-32 UTF-32BEƱ
    UTF-32BE
    UTF-32BE-BOM
    UTF-32LE
    UTF-32LE-BOM
    UTF-8-MAC ¦ˤǤޤ
  --fb-{skip, html, xml, perl, java, subchar} ѴǤʤäʸɤ갷
    ꤷޤǥեȤ --fb-skip Ǥ
  --prefix <escape character><target character>..
    Shift_JIS ؤѴˡ<target character>˻ꤷʸ2Хܤ
    줿<escape character>ղäޤ<target character>ʣǤޤ
    㤨С--prefix=\$@ ȤȡShift_JIS  2 ʸܤ $  @ 褿顢
     \ ޤ
  --no-cp932ext CP932ǳĥ줿ʸ갷ʤ褦ˤޤ
  --cap-input --url-input :%ǥפ줿ʸ򸵤ʸѴޤ
  --numchar-input "&#..;"  UnicodeʸȤѴޤ
  --no-best-fit-chars
     Unicode Ѵκݤˡround trip safeǤʤʸѴԤޤ
      -x ʻѤ뤳Ȥǡ Unicode ߤΥ󥳡ǥ󥰴֤ǤѴ
     (UTF-8  UTF-16LE ʤ)Ѵ뤳ȤǤޤ
     ʤΥץꤷʤȤΤ褦ѴԤȤϤǤޤ
     
  -- ʹߤΥץ̵뤷ޤ


=== BUGS

Ruby 1.8.2 źդƤ NKF 
Unicode ϻμưȽ٤Ƥޤ
Ruby 1.8.3 ʹߤ˥С󥢥åפ뤫
ǤŪʸɤꤹ褦ˤޤ礦

=== 

  * "ɸźե饤֥Ҳ 3  Kconv/NKF/Iconv" [[url:http://jp.rubyist.net/magazine/?0009-BundledLibraries#l15]]
