nkfってなんだ
別名の案を考えるのにフィルタ系のコマンドを一通り調べてみたのですが、 * 相当するコマンドが無い * デフォルトが上書き がそもそも大多数で、わたしが見つけられたのはPerl/Rubyの-i[=extension]くらいでした。 sedは見たのですが、GNU sedには-i/--in-placeがあるのですか。 --overwriteを用いているのはnkfくらいのようですね。 -iは既存のオプションと衝突しているため使えないとして、 --in-placeを更新するoverwriteにするというのはありだと思います。 というか、--in-place[=SUFFIX] の拡張子を指定してバックアップはわたしも欲しいので、 この方向で実装してみます。 上書きを行うロングオプションで--in-place以上に有名なものってありませんよね? なるべく長いものに巻かれておきたいのですけれど。 2.0.6 beta1 を出しました。 http://sourceforge.jp/projects/nkf/ ところで、今 nkf は -m がデフォルトで有効になっています。 これを、デフォルトで -m0 にしたいと思っているのですが、どう思います? 一応、コンパイルオプションでデフォルト -m / -m0 を切り替えられるようにして、 お茶を濁しつつ変えてしまおうかとも思っているのですけれど。 ちなみに、同様に意図しない変換を引き起こしうる、デフォルトが -X な件は、 --ic / --oc ではデフォルトで -x を含むようにしています。 SJISで全角'−'記号の0x817CをUTF-8Nの0xEFBC8Dに変換する オプションを教えて欲しい。 普通にC:\>nkf -S -w test.sjs > test.utf8nとかしても 0xE28892に変換され、他のソフトに読み込むときうまく 読み込まれず苦労しています。 TeraPadで読み込んでUTF-8Nで変換すると0xEFBC8Dに変換されます。 あと、全角の'¥'記号が半角の'\'記号になってしまうのも。 >>177 nkfのversionは? iconv使った方がいいかもね。 nkfのVersionはたしか2.07betaだと思う。 Vectorでダウンロードしたやつで、 色んなVersionが同梱されていました。 因みにiconvってWindowsで使えるの? それだとあなたの言う動作になっているね。 2.0の頃は¥のままだったんだけど。 iconvはcygwinに入っているよ。 >>182 nkf -S -w --cp932 infile.sjis > outfile.utf で望の結果となりました。アリガトウゴザイマス。 >>137 今更ながらだが、kccのコードを弄って簡易spamフィルタに使ってるぞ。 Subjectに、8ビット文字入れてくる汚物メールを検出するフィルタ。 nkfだとコードがでかすぎて弄れぬ。 今更だけどフォロー >>177 >>183 現在の nkf はデフォルトでは ASCII の範囲はそのまま、 それ以外はJISのマッピングに準拠したマッピングにしています。 Windows の変換と同じ変換、すなわち CP932 互換の変換をしたい場合は、 --cp932 で行うことができます。 なお 2.0.6 では nkf --ic=CP932 --oc=UTF-8 と、iconv っぽく使えます。 >>179 >>180 行う変換がどのマッピングなのか把握しているならば iconv が適当です。 Windows なら香り屋さんのが楽 http://www.kaoriya.net/#LIBICONV >>184 *_getc -> kanji_convert -> *_iconv -> *_conv -> *_oconv -> *_putc という流れを把握すれば、多少はいじるのが楽になるかも。 グローバル変数の嵐ですけどね・・・。 > Subjectに、8ビット文字入れてくる汚物メールを検出するフィルタ。 ならば、*_getc の追加でいけるかな。 grep -E '[^[:cntrl:][:print:]]' で済みそうだけど。 俺はバカだ。ここはUNIX板じゃないか(泣 (ちなみに俺の今の -> "nkf2PDI3") バグでしょか? 2.0.7 と CVS 先端で再現します。 1. MIME デコードしたりしなかったりする % nkf -e あいうえお =?iso-2022-jp?b?GyRCJCIbKEI=?= あいうえお =?iso-2022-jp?b?GyRCJCIbKEI=?= % nkf -e こんにちは =?iso-2022-jp?b?GyRCJCIbKEI=?= こんにちは あ 2. UTF-8 だと MIME デコード部分が化ける % nkf -w あいうえお =?iso-2022-jp?b?GyRCJCIbKEI=?= あいうえお $" % nkf -w こんにちは =?iso-2022-jp?b?GyRCJCIbKEI=?= こんにちは =?iso-2022-jp?b?GyRCJCIbKEI=?= >>190 >>190 さんは MIME のオプション指定で再現しなくなりましたか? NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。 試しにそれぞれに -m オプションを付けてみましたが、同じ出力結果となりました。 nandedaro kizukebakokanni fuzisanga... あいうえお =?iso-2022-jp?b?gqA=?= とりあえず現状を。 1. エンコーディングの確定前にMIME文字列が出現した場合認識しない 2. 一部のエンコーディングでMIME encodeされたJISな文字列が文字化け の二つの問題と認識しています。 後者は手元で修正しました。 前者は現在ちとてこずっています。 回避方法としては、エンコーディングがわかる場合は明示的に指定する、になります。 前者の方ですが、確かに入力のエンコーディングを指定したらうまくいきました。 自動判定が絡んでくるとなると厄介そうなのはなんとなく想像つきますので、 あまり期待しないで期待しておきます(?)。 対応ありがとうございます。 CVS 先端で後者の方が直っていました。ありがとうございました。 >>191 > NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。 まじかよ なんだよ、このウンコ仕様は。 さよなら、nkf。 >>197 わたしも微妙な仕様で正直変えたいと思っているのですが、 調べたところどうも1.7あたりから導入されているらしく、 いまさらそう簡単には変えられないというのが現状です。 っと思っていたのですが、Ruby1.9にあわせてnkfを2.1にし、 そこでこの手の変えづらかった仕様に手を入れてしまうのもありな気がしてきました。 少し検討してみます。 真面目なレスありがとう。 過去のnkf利用scriptが走馬灯のように思い浮かんで欝になりました。 -Xがdefaultである件も、前から何だかなーと思ってます。 出力がISO-2022-JPの場合は仕方ないんだけど。 >>199 とりあえずMIME decodeの方はconfig.hに #define MIME_DECODE_DEFAULT FALSE とでも書いてmakeすればデフォルト無効になります。 -Xの方はソース眺めていて-Iとの絡みが謎なので解読中。 似た方法でデフォルトを変えられるようにする方向です。 あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。 >>200 > あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。 あ、それあると嬉しい。 man あたりに "DEFAULT FLAGS" みたいなエントリ作れば良いのでは? --help やって気付いたけど、標準エラー出力に投げるんだね。 これはソース見てすぐにどこいじれば標準出力に変更できるか分かったけど。 >>201 >> あー、バージョン情報かヘルプにデフォルトの設定出すようにした方がいいかな。 >あ、それあると嬉しい。 >man あたりに "DEFAULT FLAGS" みたいなエントリ作れば良いのでは? コンパイルオプションは最終的にconfigureで設定できるようにする予定なのですが、 こっちはNKF.pmのコンパイルが微妙になることに気づいてどうしようかなとか。 ていうか、Encode.pmが標準添付なこの時代にNKF.pmとか使う人いるんだろうか。 # Encodeをたたくラッパーでいい気がするよね。 >--help やって気付いたけど、標準エラー出力に投げるんだね。 ですね、以前に微妙かと思って手元にあったコマンドがどこにヘルプ投げるか調べたら、 どっちもあったんですが、標準出力の方がいいですか? >>202 >>--help やって気付いたけど、標準エラー出力に投げるんだね。 > ですね、以前に微妙かと思って手元にあったコマンドがどこにヘルプ投げるか調べたら、 > どっちもあったんですが、標準出力の方がいいですか? 量が多い時にページャに渡すときに一手間増えるかなと。 といっても 2>&1 を追加するだけなんで、あまり気にしなくておk。 デフォールト・オプション大変りなnkfは、nkf3として、 /usr/bin/nkf /usr/bin/nkf3 が共存できるようにするとか。 Debian的には、 /usr/bin/nkf2 /usr/bin/nkf3 /usr/bin/nkf→/etc/alternatives/nkf→/usr/bin/nkf2 /usr/share/man/man1/nkf.1→/etc/alternatives/nkf.1→/usr/share/man/man1/nkf2.1 な感じ。update-alternatives --set nkf /usr/bin/nkf3で切り替え。 nkf3 って名前で install するのは .deb のパッケージシステムで (すまん俺 .rpm なシステムしか知らん)やる事じゃまいか? 問題になるようなら他のシステム(portsとか)でも多分そうすると思う。 コンフィグorメイクのオプションで設定可能にするのは構わないと 思うがデフォルトを nkf3 にするのはどうかと。 debianだと、たとえ本家がnkf-2.1だろうと、 メインテナが互換性上別にした方がいいと考えたらnkf3_2.1になる。 だから気にしないでいい。 とりあえず config.h で -m と -x のデフォルトを変えられるようにしました。 #define MIME_DECODE_DEFAULT 0 #define X0201_DEFAULT 0 で -m0 -x を指定しているのと同じ状態になります。 また、nkf -V でコンパイルオプションを表示するようにしました。 Summary of my nkf 2.0.8 (2007-12-07) configuration: Compile-time options: Default output encoding: ISO-2022-JP Decode MIME encoded string: OFF Convert JIS X 0201 Katakana: OFF 例えばこんな感じ。 なお、この修正に伴い -x 関連のコードを整理した影響で、-I -x の動作に変更があります。 旧来 -I -x では半角カタカナの入力に対して、半角カタカナを出力していましたが、 これからはゲタを返すようになります。 >>207 > また、nkf -V でコンパイルオプションを表示するようにしました。 GJ。 と言いたいところなんだが、手元でコンパイルして表示してみたら Default output encoding: と下の二行の表示位置が空白一個分 ずれてるよ。 $ diff nkf.c.orig nkf.c 6183c6183 < fprintf(stderr, "(空白4個)Default output encoding:(空白6個)" --- > fprintf(stderr, "(空白4個)Default output encoding:(空白5個)" nkfを次の様に使ってますが稀に文字化けします、文字化けしないような使い方がありますか? mplayer ファイル名 | nkf -wu 文字化けの例 ファイル名は05.バレエ組曲「くるみ割り人形」アラビアの踊り.mp3 略 Failed to open LIRC support. You will not be able to use your remote control. Playing 05.繝舌Ξ繧ィ邨峇縲後\繧九∩蜑イ繧贋ココ蠖「縲阪い繝ゥ繝薙い縺ョ雕翫j.mp3. Audio file file format detected. Clip info: Title: チャイコフスキー バレエ組曲「 Artist: トスカニーニ指揮 NBC交響楽 略 ロケールはutf8でID3タグがsjisです >>210 元ファイル名の文字コードが SJIS 固定と決まっているのなら nkf -Swu nkf は行ごとに文字コードを判定することもあったようなその部分は壊したような、 とりあえず、ID3タグのみがShift_JIS (たぶんCP932)なのですから、そこだけ変換するべきでしょう。 mplayer | ruby -nrnkf -e'puts /^(Title|Artist)/=~$_ ? NKF.nkf("-w --ic=cp932",$_) : $_' これだとバッファ周りがだめそうですが ありがとうございます rubyさっぱりわからないですが試してみました ファイル名は変換されますがID3タグが化けます、 それよりも秒数がまとめて出力されてしまう Title: `CRtXL[ o Gg ネu Artist: gXJj[jw mab ? ソ y Album: o Gg ネuュ鰡 鑞 `v ファイル名が"05.バレエ組曲「くるみ割り人形」 アラビアの踊り.mp3"なら -wu で認識してくれるのだけど あー、秒数とかがダメか。 てっとり早い解決策は、ID3タグをID3v2 (Unicode)に変換することじゃないかなぁ。 一括変換できるソフトはSTEPくらいしか知りませんが。 http://hp.vector.co.jp/authors/VA012911/ それ以外だとファイル名が化けるのはあきらめて nkf -uwS とかかな。 結局のところ出力がUTF-8の行とShift_JISの行が混在しているのが問題なので、 そろえてしまわないと解決は面倒になります。 ID3タグをUnicodeにすることも考えましたが そうすると他の機器で文字化けが、、、 mplayerでファイル名が化けることはそんなにないので 当面このままでいきます、ありがとう 先日デフォルトの出力エンコーディングを指定できるようにしたわけですが、 よくよく考えればロケール見て決めてくれよと思いつく。。。 >>217 端末の locale 見て自動変換してくれると便利だよね。 Ruby でその機能が欲しくて NKF 使ってライブラリ作ったけど 1.9 で動くか試してないや。 うーん。locale見るのはUIのレイヤでやってほしいかなぁ 内部のエンジンがそういう暗黙の挙動をするのは嬉しくないかも >>218 Ruby 1.9 だと Encoding.locale_charmap がエンコーディング名とか、 Encoding.default_external がエンコーディングオブジェクトとかありますが、 Kconv に tolocale とこっそりつっこんだので、これ使うと楽です。 >>219 > うーん。locale見るのはUIのレイヤでやってほしいかなぁ > 内部のエンジンがそういう暗黙の挙動をするのは嬉しくないかも 基本的には nkf コマンドの UI 部の機能という見解ですが、ライブラリとしての話でしょうか。 その場合は出力エンコーディングを指定してよという話になるわけですが。 ちなみに、今まではなにもいじらなければ JIS がデフォルトだったのでそれってどうよ、だったと。 Ruby 拡張ライブラリだとどうしましょうかね。 * 今まで通りデフォルト JIS * いやいや時代は UTF-8 * 自力でロケールはないとして、 * Encoding.locale_charmap * Encoding.default_external * 指定しないとエラー >>220 Kconv#tolocale ね。 それは便利そうだ。 >>222 NKF#nkf の挙動の話だよね? 個人的には Kconv#tolocale があるんだし、 NKF は処理速度重視であって欲しいかな。 どれが一番速いのかは分からないけど。 nkfを使うということをプログラマが選択した時点で、 コード変換に注意を向けているわけですから、指定しないとエラー、 がいいんじゃないですかねぇ。 こっちじゃ動いたけどあっちじゃ動かない、系のトラブルも 回避できますし。 nkf --guessで、ファイル名も表示する方法ない? 複数ファイル入れた時は、表示されるんだが・・・ nkf 単体でやる方法はありませんね。 常にファイル名表示ーするとたぶん問題なんだろうなぁ。 /dev/nullを加えてnkf -gしてgrep -v /dev/nullする フォルダー内のテキストやHtmlを一括で漢字エンコードするソフトを教えて下さいと2chで頼んだら こちらのソフトを教えていただきました 下記アドレスを見たんですけど使い方がさっぱりわかりません ttp://sourceforge.jp/projects/nkf/document/nkf-man-2_0_6-ja/ja/4/nkf-man-2_0_6-ja.txt このツールで大量のテキストのエンコードを一括変換させるにはどのようにすればいいのでしょうか? Windows xp フォルダー内にはEUCのものとUTF-8のものとがあります これらのファイルを一括でS-JISに変更させる方法を教えて下さい オプションの説明ばかりでもしかして1ファイルづつの操作なのでしょうか? 一括変換の方法も書いてあるのかもしれないけど 疲れて最後までよめませんでした どなたかわかるかたお願いします 悪いこといわんから、Windows用の専用ツール使いなよ。 窓の杜行けばあるでしょ。 >>230 えっそうなんですか もうひとつ漢字とらんさーというツールも教えてもらったんだけど フォルダーごとエンコードしてみたら2割くらいはバイナリかもしれないと エンコード出来なかった表示がでてきた それでファイルを1枚づつ確認してみたら 見事に1枚もエンコード変換できていませんでした nkfに期待してるのですが 使い方わかんないよ レスありがと 気が向いたら使用方法教えて下さいね おやすみ nkfの自動判別使った奴があるから探して使いなよ。 nkfでやりたかったら、↓のシェルスクリプト使いな。 #! /bin/sh for i in "$@"; do mv "$i" "$i.org" nkf -s "$i.org" > "$i" done けどツール探した方が速いと思うよ、あなたの場合。 >>232 さん お疲れのところ本当にありがとうございます >>232 さんがおっしゃるとおり 簡単操作のツールでなければ使えないかもしれないです^^; でもせっかく教えてくれたスクリプトなので頑張ってみます ありがとうございました おやすみなさい^^ 最近 nkf のリリース無いね。 SourceForge 見る限りではメンテはされているみたいだけど。 そろそろ 2.0.9 とかが出てもいい頃だと思うんだけど。 >>234 Rubyの方で忙しいもので。 まぁ、さすがに放置が過ぎるので、Ruby1.9.1リリースあたりのタイミングで、 Ruby添付と同じものをリリース版として置こうかなと思ってます。 というわけで nkf 2.0.9 を出しました。 Perl モジュール部分が壊れていたので、Perl で使い方は Git から最新版を落としてくださいまし 入力がUTF-16の時にASCIIって判定されるね -W16とか付けても効かないし >>238 まぁ、Ruby寄り・・・というか、Rubyも組み込み変換があるのでコマンドがメインかな。 というか、PerlならEncodeがあるじゃないですか。 >>239 Ruby 1.9.1の最初のパッチリリースが出る頃には出そうかなと。 っと、バージョンナンバー二桁にして大丈夫なのかな? だめそうなら2.1.0にしてしまうのでお早めに。 >>240 commit a6a715f3686cb70d38c6616c8e03830ef34d9478 にて修正しました DLL だと、判定は UTF-16 になるのに lpBytesReturned に 0 が返ってきます。。。 HINSTANCE dll = ::LoadLibrary("nkf32.dll"); funcSetNkfOption *setopt = (funcSetNkfOption *) ::GetProcAddress(dll, "SetNkfOption"); funcNkfConvertSafe *conv = (funcNkfConvertSafe *) ::GetProcAddress(dll, "NkfConvertSafe"); funcNkfGetKanjiCode *getkc = (funcNkfGetKanjiCode *) ::GetProcAddress(dll, "NkfGetKanjiCode"); setopt("-xs"); conv(out, sizeof(out), &bytesReturned, in, sizeof(in)); int charcode = getkc(); ::FreeLibrary(dll); printf("%d %d %s\n", charcode, bytesReturned, out); 2.0.8 だと「4 6 UTF-16」みたいになるのに、2.0.9 だと「4 0」。 git は確認してないけど、>>241 で解決してるのかなぁ マイナーな要望かもしれないけど UTF-7 や Modified UTF-7 の変換機能が欲しいなあ。 NKF 2.0.9 のマニュアルの --ic, --oc の CP932 の説明には、 「-x が暗黙のうちに指定される」と書かれていますが、 これが実際には効いていないように思います。 nkf コマンドの 2.0.8 が手元に無くなっちゃったので Ruby での比較になりますが、 2.0.8 → 2.0.9 で挙動が変わってしまっており、 2.0.8 ではマニュアルの通りに動作していたように見えます。 % ruby -rnkf -e 'puts NKF::VERSION; puts NKF.nkf("--ic=CP932 --oc=UTF-8", File.read("hello"))' 2.0.8 (2008-11-08) コンニチハ % ruby_trunk -rnkf -e 'puts NKF::VERSION; puts NKF.nkf("--ic=CP932 --oc=UTF-8", File.read("hello"))' 2.0.9 (2009-01-20) コンニチハ >>242 手元にDLL用の環境がないので確認できてないんですが、今でもそうなりますかね。 しばらく大きな更新の予定もないので、ここらで2.1.0でも出そうかと思いつ。 >>243 要望があれば検討しますよ、というわけでそのうちには。 Ruby/transcode じゃなくて nkf に欲しいんですよね? >>244 これはバグですね、直します。 そうですね、 Ruby/transcode にも要る (現状だと net/imap などは自前で実装してますね) と思いますが、 nkf にも欲しいところです。 # nkf -v Network Kanji Filter Version 2.1.0 (2009-11-17) 環境変数LANGで設定した文字コードへ変換するオプションが欲しいです。 skf にそういう機能はないです。nkf の方は対応したことになっているらしいんですけど、もともとロカールからエンコーディングを抽出するのは POSIX 仕様上困難なので、なにか上手い方法が見つかったら考えます。 nkfで2ch内のスレタイ検索してここに来ました。(ここだけでした) ウインドウズ環境でnkf32.exeを使ってみた(nkf32.exe -w16L --overwrite)の ですが、全角の―(ダッシュ)がハイフンだかマイナスだかに変わってしまいます! これは滅茶苦茶困ります。もう泣きそうです。 誰に言えばいいのか分からないからここに書きます、何とかしてください!! >>254 --cp932 オプションを付けてみると? >>255 ぎゃー、上手くいきました! 嬉しいです、どうもありがとう。 ショックで良く調べもせず騒いですみませんでした。 本当にありがとう! > echo 60_byte_ijou_no_ascii_dake_no_mojiretsu_de_-M_shitemiru_test_ | nkf -M =?EUC-JP?B?60_byte_ijou_no_ascii_dake_no_mojiretsu_de_-M_shitemiru_test_?= nkf.exeの64bitOSに対応したバージョンって、ないでしょうか? XP-32bitからWin7-64bitに移行したところ、 [サポートされていない16ビットアプリケーション] と出て、とまってしまいます。バッチで組み込んで使っているnkf.exeが唯一、 起動しないアプリになってしまいました。 コマンドラインから c:\>コマンド名.exe 入力ファイル 出力ファイル という手順(順番やオプションは不問)で呼び出しができて、 変換さえできれば、別のソフトでも全くかまいません。 なにか打開策ないでしょうか。 >>263 64bitバージョンのnkf使えてるよ FreeBSD 8.0 amd64 OS入れ直すだけだね >>257 歴史的経緯です。 nkfで変換して適当なところに突っ込んでください。 >>263 とりあえず 32bit 版の nkf.exe を使えば動くと思います。 http://www.geocities.jp/va007219/index.html#win95utilnkf Windowsの文字コードだと、変換できないことが多々あるな・・・。 ファイル名とか。 仕方ないので、find -inum -exec mvで変更してるけど なんか別の方法はないんだろうか。 mimeエンコードすると、行末の方だけ US-ASCII に成るのは、こういう仕様なんですかね。 $ echo 'aiueo kakikukeko さしすせそたちつてと naninuneno' | nkf -Mj aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEIg?= =?US-ASCII?Q?naninuneno?= $ nkf --version Network Kanji Filter Version 2.1.0 (2009-11-17) ちなみにもう少し古い 2.0.9 とかも同様。 >>270 お返事ありがとうございます。 改行を入れると、改行を除去されたり、増えるのも同様にこういう仕様でしょうか。 $ echo -e 'aiueo kakikukeko\n さしすせそたちつてと\n naninuneno' | nkf -Mj aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEIK?= naninuneno $ echo -e 'aiueo kakikukeko さしすせそたちつてと\n naninuneno' | nkf -Mj aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEI=?= naninuneno $ >>271 % echo -e 'aiueo kakikukeko\n さしすせそたちつてと\n naninuneno' | ./nkf -Mj aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEIK?= naninuneno % echo -e 'aiueo kakikukeko さしすせそたちつてと\n naninuneno' | ./nkf -Mj aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEIK?= naninuneno HEAD だと再現しないので、昔あったバグだと思います。 なお、改行が消えてるように見えますが、encoded-word の中にちゃんと入っています。 こうしないと「\n SP」は保存できないのです。 >>272 お返事ありがとうございます。 $ echo -e 'aiueo kakikukeko さしすせそたちつてと\n naninuneno' | nkf -Mj の例がVersion 2.1.1 (2010-04-28) で以下となることを確認しました。 > aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEIK?= naninuneno が、個人的には下を想像していたので、改行のエンコードが意外でした。 > aiueo kakikukeko =?ISO-2022-JP?B?GyRCJDUkNyQ5JDskPSQ/JEEkRCRGJEgbKEI=?= > naninuneno nkf-2.1.0.tar.gzが最新と思っていましたが、リポジトリの方は2.1.1に改版されていたんですね。 下をデコードしてみるとダメな理由がわかるかと思います。 このあたり MIME encode って難しいんですよねぇ。 リポジトリ内のバージョンはリリース後の次のコミットで上がります。 ちなみに、2.1.1 は Ruby 1.9.2 がリリースされるころに出ます。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる