nkfってなんだ (337レス)
上下前次1-新
209: 成瀬 ◆NBGqNARUSE 2007/12/19(水)03:47 AAS
>>208
直しました、報告どうもです
210(3): 2007/12/30(日)01:49 AAS
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.
省6
211: 201 2007/12/30(日)02:00 AAS
>>210
元ファイル名の文字コードが SJIS 固定と決まっているのなら
nkf -Swu
212: 2007/12/30(日)02:20 AAS
ファイル名がutf8なんだろ。
213: 成瀬 ◆NBGqNARUSE 2007/12/30(日)17:15 AAS
nkf は行ごとに文字コードを判定することもあったようなその部分は壊したような、
とりあえず、ID3タグのみがShift_JIS (たぶんCP932)なのですから、そこだけ変換するべきでしょう。
mplayer | ruby -nrnkf -e'puts /^(Title|Artist)/=~$_ ? NKF.nkf("-w --ic=cp932",$_) : $_'
これだとバッファ周りがだめそうですが
214: 210 2007/12/31(月)01:36 AAS
ありがとうございます
rubyさっぱりわからないですが試してみました
ファイル名は変換されますがID3タグが化けます、
それよりも秒数がまとめて出力されてしまう
Title: `CRtXL[ o
Gg
ネu
省12
215: 成瀬 ◆NBGqNARUSE 2007/12/31(月)17:59 AAS
あー、秒数とかがダメか。
てっとり早い解決策は、ID3タグをID3v2 (Unicode)に変換することじゃないかなぁ。
一括変換できるソフトはSTEPくらいしか知りませんが。
外部リンク:hp.vector.co.jp
それ以外だとファイル名が化けるのはあきらめて nkf -uwS とかかな。
結局のところ出力がUTF-8の行とShift_JISの行が混在しているのが問題なので、
そろえてしまわないと解決は面倒になります。
216: 210 2008/01/06(日)21:14 AAS
ID3タグをUnicodeにすることも考えましたが
そうすると他の機器で文字化けが、、、
mplayerでファイル名が化けることはそんなにないので
当面このままでいきます、ありがとう
217(1): 成瀬 ◆NBGqNARUSE 2008/01/21(月)17:12 AAS
先日デフォルトの出力エンコーディングを指定できるようにしたわけですが、
よくよく考えればロケール見て決めてくれよと思いつく。。。
218(1): 2008/01/24(木)02:29 AAS
>>217
端末の locale 見て自動変換してくれると便利だよね。
Ruby でその機能が欲しくて NKF 使ってライブラリ作ったけど
1.9 で動くか試してないや。
219(1): 2008/01/24(木)11:16 AAS
うーん。locale見るのはUIのレイヤでやってほしいかなぁ
内部のエンジンがそういう暗黙の挙動をするのは嬉しくないかも
220(1): 2008/01/24(木)15:08 AAS
>>218
Ruby 1.9 だと Encoding.locale_charmap がエンコーディング名とか、
Encoding.default_external がエンコーディングオブジェクトとかありますが、
Kconv に tolocale とこっそりつっこんだので、これ使うと楽です。
>>219
> うーん。locale見るのはUIのレイヤでやってほしいかなぁ
> 内部のエンジンがそういう暗黙の挙動をするのは嬉しくないかも
省3
221: 2008/01/24(木)19:36 AAS
nkf"コマンド"ではやって欲しいな
222(1): 成瀬 ◆NBGqNARUSE 2008/01/24(木)21:32 AAS
Ruby 拡張ライブラリだとどうしましょうかね。
* 今まで通りデフォルト JIS
* いやいや時代は UTF-8
* 自力でロケールはないとして、
* Encoding.locale_charmap
* Encoding.default_external
* 指定しないとエラー
223: 2008/01/25(金)02:42 AAS
>>220
Kconv#tolocale ね。 それは便利そうだ。
>>222
NKF#nkf の挙動の話だよね?
個人的には Kconv#tolocale があるんだし、
NKF は処理速度重視であって欲しいかな。
どれが一番速いのかは分からないけど。
224: 2008/01/25(金)11:22 AAS
nkfを使うということをプログラマが選択した時点で、
コード変換に注意を向けているわけですから、指定しないとエラー、
がいいんじゃないですかねぇ。
こっちじゃ動いたけどあっちじゃ動かない、系のトラブルも
回避できますし。
225: 2008/03/01(土)20:48 AAS
nkf --guessで、ファイル名も表示する方法ない?
複数ファイル入れた時は、表示されるんだが・・・
226: 成瀬 ◆NBGqNARUSE 2008/03/01(土)21:43 AAS
nkf 単体でやる方法はありませんね。
常にファイル名表示ーするとたぶん問題なんだろうなぁ。
227: 2008/03/01(土)23:04 AAS
/dev/nullを加えてnkf -gしてgrep -v /dev/nullする
228: 2008/03/01(土)23:11 AAS
先にecho -nしとこうぜ
229: 2008/04/12(土)02:41 AAS
フォルダー内のテキストやHtmlを一括で漢字エンコードするソフトを教えて下さいと2chで頼んだら
こちらのソフトを教えていただきました
下記アドレスを見たんですけど使い方がさっぱりわかりません
外部リンク[txt]:sourceforge.jp
このツールで大量のテキストのエンコードを一括変換させるにはどのようにすればいいのでしょうか?
Windows xp
フォルダー内にはEUCのものとUTF-8のものとがあります
省5
230(1): 2008/04/12(土)03:27 AAS
悪いこといわんから、Windows用の専用ツール使いなよ。
窓の杜行けばあるでしょ。
231: 2008/04/12(土)03:37 AAS
>>230
えっそうなんですか
もうひとつ漢字とらんさーというツールも教えてもらったんだけど
フォルダーごとエンコードしてみたら2割くらいはバイナリかもしれないと
エンコード出来なかった表示がでてきた
それでファイルを1枚づつ確認してみたら
見事に1枚もエンコード変換できていませんでした
省5
232(1): 2008/04/12(土)03:50 AAS
nkfの自動判別使った奴があるから探して使いなよ。
nkfでやりたかったら、↓のシェルスクリプト使いな。
#! /bin/sh
for i in "$@"; do
mv "$i" "$i.org"
nkf -s "$i.org" > "$i"
done
省1
233: 2008/04/12(土)04:16 AAS
>>232さん
お疲れのところ本当にありがとうございます
>>232さんがおっしゃるとおり
簡単操作のツールでなければ使えないかもしれないです^^;
でもせっかく教えてくれたスクリプトなので頑張ってみます
ありがとうございました
おやすみなさい^^
234(1): 2008/08/28(木)02:12 AAS
最近 nkf のリリース無いね。
SourceForge 見る限りではメンテはされているみたいだけど。
そろそろ 2.0.9 とかが出てもいい頃だと思うんだけど。
235: 2008/08/29(金)06:02 AAS
どのような変更を期待なさっているので
236: 2008/11/05(水)21:10 AAS
>>234
Rubyの方で忙しいもので。
まぁ、さすがに放置が過ぎるので、Ruby1.9.1リリースあたりのタイミングで、
Ruby添付と同じものをリリース版として置こうかなと思ってます。
237: 2009/01/22(木)04:32 AAS
というわけで nkf 2.0.9 を出しました。
Perl モジュール部分が壊れていたので、Perl で使い方は Git から最新版を落としてくださいまし
238(1): 2009/01/22(木)09:17 AAS
いやがらせですねw
239(1): 2009/02/02(月)12:20 AAS
2.0.10マダー
240(1): 2009/02/05(木)00:19 AAS
入力がUTF-16の時にASCIIって判定されるね
-W16とか付けても効かないし
241(1): 2009/02/21(土)15:20 AAS
>>238
まぁ、Ruby寄り・・・というか、Rubyも組み込み変換があるのでコマンドがメインかな。
というか、PerlならEncodeがあるじゃないですか。
>>239
Ruby 1.9.1の最初のパッチリリースが出る頃には出そうかなと。
っと、バージョンナンバー二桁にして大丈夫なのかな?
だめそうなら2.1.0にしてしまうのでお早めに。
省3
242(1): 2009/03/18(水)18:53 AAS
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));
省5
243(1): 2009/07/09(木)15:58 AAS
マイナーな要望かもしれないけど UTF-7 や Modified UTF-7 の変換機能が欲しいなあ。
244(1): 2009/08/21(金)12:01 AAS
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"))'
省5
245: 2009/09/02(水)20:15 AAS
>>242
手元にDLL用の環境がないので確認できてないんですが、今でもそうなりますかね。
しばらく大きな更新の予定もないので、ここらで2.1.0でも出そうかと思いつ。
>>243
要望があれば検討しますよ、というわけでそのうちには。
Ruby/transcode じゃなくて nkf に欲しいんですよね?
>>244
省1
246: 2009/09/03(木)00:23 AAS
そうですね、 Ruby/transcode にも要る
(現状だと net/imap などは自前で実装してますね) と思いますが、
nkf にも欲しいところです。
247: 2009/11/17(火)12:24 AAS
# nkf -v
Network Kanji Filter Version 2.1.0 (2009-11-17)
248: 2009/11/17(火)12:35 AAS
おぉ!!
249: 2009/11/27(金)17:33 AAS
win板のバイナリ来ない (T-T
250: 2009/12/29(火)17:24 AAS
64bit版てあるのかな?
251: 2010/01/05(火)13:38 AAS
環境変数LANGで設定した文字コードへ変換するオプションが欲しいです。
252: 2010/02/12(金)23:33 AAS
skfを使え
253: efialtes 2010/02/14(日)21:37 AAS
skf にそういう機能はないです。nkf の方は対応したことになっているらしいんですけど、もともとロカールからエンコーディングを抽出するのは POSIX 仕様上困難なので、なにか上手い方法が見つかったら考えます。
254(1): 2010/05/23(日)12:34 AAS
nkfで2ch内のスレタイ検索してここに来ました。(ここだけでした)
ウインドウズ環境でnkf32.exeを使ってみた(nkf32.exe -w16L --overwrite)の
ですが、全角の―(ダッシュ)がハイフンだかマイナスだかに変わってしまいます!
これは滅茶苦茶困ります。もう泣きそうです。
誰に言えばいいのか分からないからここに書きます、何とかしてください!!
255(1): 2010/05/23(日)14:55 AAS
>>254
--cp932 オプションを付けてみると?
256: 2010/05/23(日)15:18 AAS
>>255
ぎゃー、上手くいきました!
嬉しいです、どうもありがとう。
ショックで良く調べもせず騒いですみませんでした。
本当にありがとう!
257(1): 2010/06/02(水)02:21 AAS
manが化けるのって嫌がらせ?
258: 2010/06/02(水)19:19 AAS
うん。
259: 2010/06/03(木)02:11 AAS
manコマンド
260: 2010/06/03(木)05:28 AAS
manドマンコ
261(1): 2010/06/10(木)11:55 AAS
> 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_?=
262: 2010/06/10(木)19:01 AAS
>>261
バージョン上げるよろし
263(2): 2010/06/28(月)22:38 AAS
nkf.exeの64bitOSに対応したバージョンって、ないでしょうか?
XP-32bitからWin7-64bitに移行したところ、
[サポートされていない16ビットアプリケーション]
と出て、とまってしまいます。バッチで組み込んで使っているnkf.exeが唯一、
起動しないアプリになってしまいました。
コマンドラインから
省4
264(1): 2010/06/29(火)02:11 AAS
>>263
64bitバージョンのnkf使えてるよ
FreeBSD 8.0 amd64
OS入れ直すだけだね
265: 2010/06/29(火)02:34 AAS
>>264
マジすか!
挑戦してみます
266: 2010/06/29(火)11:09 AAS
>>257
歴史的経緯です。
nkfで変換して適当なところに突っ込んでください。
>>263
とりあえず 32bit 版の nkf.exe を使えば動くと思います。
外部リンク[html]:www.geocities.jp
267(1): 2010/06/29(火)14:44 AAS
Windowsの文字コードだと、変換できないことが多々あるな・・・。
ファイル名とか。
仕方ないので、find -inum -exec mvで変更してるけど
なんか別の方法はないんだろうか。
268(1): 2010/07/07(水)22:11 AAS
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 とかも同様。
269: 名無しさん@そうだ選挙に行こう 2010/07/10(土)14:16 AAS
>>267
--ic=CP932 って話?
270(1): 名無しさん@そうだ選挙に行こう 2010/07/10(土)14:18 AAS
>>268
折り返し対策で仕様です
271(1): 名無しさん@そうだ選挙に行こう 2010/07/10(土)23:29 AAS
>>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
省3
272(1): 2010/07/13(火)13:52 AAS
>>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 だと再現しないので、昔あったバグだと思います。
省2
273: 2010/07/14(水)23:50 AAS
>>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=?=
省2
274: 2010/07/19(月)15:38 AAS
下をデコードしてみるとダメな理由がわかるかと思います。
このあたり MIME encode って難しいんですよねぇ。
リポジトリ内のバージョンはリリース後の次のコミットで上がります。
ちなみに、2.1.1 は Ruby 1.9.2 がリリースされるころに出ます。
275: 2010/07/19(月)18:33 AAS
8月初旬か・・
276: 2010/09/13(月)21:14 AAS
nkf-2.1.1.tar.gz 日付: 2010-09-13, サイズ: 153.8 KB
277: 2010/09/13(月)23:24 AAS
あらま。
19:30にsourceforgeを覗いたときはまだ2.1.0が最新だったのに、生き馬の目を抜くような。
278(1): 2010/09/22(水)08:50 AAS
make testでtest_data/ruby-dev:39722がFailになるよ
279: 2010/09/22(水)10:29 AAS
それ、もう報告されて直ってるよ
280: 278 2010/09/22(水)13:23 AAS
ありがとう。解決しました。
281: 2010/12/21(火)21:31 AAS
nkfは、linux用に nkf.dll を導入すべき。
282: 2010/12/22(水)08:01 AAS
他のプログラムから利用できるライブラリがあるといいね。
283: 2010/12/22(水)21:22 AAS
nkf はもう、Ruby のためだけにメンテされてるのではなかろうか。
284: 2011/04/02(土)20:06 AAS
DOSでUTF-8 -> SJIS変換に役立っています。(^^)/
285: 2011/04/02(土)22:17 AAS
そういえば、デフォルト出力コードがsjisになったことなかったけ。
286: [age] 2011/05/22(日)09:15 AAS
いつになったら'%EF%BC%AE%EF%BC%AB%EF%BC%A6'を小細工なしでデコードできるようになるの?
287: 2011/05/22(日)09:45 AAS
echo '%EF%BC%AE%EF%BC%AB%EF%BC%A6' | nkf --url-input
じゃだめなん?
288(2): 2011/07/10(日)22:36 AAS
いつになったら'%EF%BC%AE%EF%BC%AB%EF%BC%A6'へ小細工なしでエンコードできるようになるの?
289: 2011/07/11(月)07:35 AAS
スクリプト言語使えよ
上下前次1-新書関写板覧索設栞歴
あと 48 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.019s