From: "NARUSE, Yui" Date: 2009-11-20T07:47:10+09:00 Subject: [ruby-dev:39734] Re: NKF の MIME エンコード・デコード 成瀬です。 SATOH Fumiyasu wrote: > 似た(?)ような現象で、以下のようなものがあります: > > $ ruby --version > ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux] > $ ruby -rnkf -e 'p NKF.nkf("-wM","x"*60)' > "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > $ ruby -rnkf -e 'p NKF.nkf("-wM","x"*61)' > "=?EUC-JP?B?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?=\n " > $ ruby1.9 --version > ruby 1.9.0 (2008-10-04 revision 19669) [x86_64-linux] > $ ruby1.9 -rnkf -e 'p NKF.nkf("-wM","x"*60)' > "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > $ ruby1.9 -rnkf -e 'p NKF.nkf("-wM","x"*61)' > "=?US-ASCII?Q?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?=\n =?US-ASCII?Q?xxx?=" 両者とも、Ruby 1.8 ブランチや Ruby 1.9 の HEAD では修正済みです。 なお、この修正は patchlevel には取り込まれない予定です。 あと、Ruby 1.9.0 は Ruby の開発チームとしては既にサポートしていないので、 もう捨ててしまってください。 > ちなみに、オリジナル(?)の nkf(1) も変です。 > > $ nkf --version > Network Kanji Filter Version 2.0.7 (2006-06-13) > Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW > Copyright (C) 2002-2006 Kono, Furukawa, Naruse, mastodon > zsh: exit 1 nkf --version > $ ruby -e 'puts "x"*61' |nkf -wM > =?EUC-JP?B?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?= オリジナルという認識で正しいです、Ruby/NKF は変換エンジンに nkf のコードを 用いており、元の nkf のバージョンは NKF::VERSION でわかります。 で、これも古いからですね。 nkf の最新バージョンは数日前にリリースされた 2.1.0 です。 -- NARUSE, Yui