1 :
名無しさん@お腹いっぱい。 :
01/11/08 16:57 初心者です。ご指導おねがいします。
Network Kanji Filter のこと。 質問スレをつかってくれ。
Network Kanji code conversion Filter。 つーか、こういうのはくだ質逝きなさい。 削除依頼しておきな。
あぁやっちゃったね 首つろうね
Nishi KawaguchiShiki Fuck
解りました [hoge@nkf]$ cat nkf.txt | nkf -e 納豆は食う感じこうで今晩しよう古田 ってことですね。やっと中身が読めました
>>7 はDOSだとこんなことしていそうだと思われ
C> type foo.txt | more
>>7 このぐらいだったら、
% jless nkf.txt
で十分だったりして。
>>7 とりあえずもう1手増やして見たり。
% ls nkf.txt |xargs cat |nkf -e
>>7 nkf -e nkf.txt | cat | more |less | dd
とか。
nkf -e nkf.txt | cat | more |less | cat | more |less | cat | more |less >/dev/null
sh -c 'while read a; do echo $a; done' も仲間に入れれ。
nkf -e nkf.txt | cat | more | less | dd | perl -npe '' | awk '{print}' | sed ''| gzip -c - | gzcat とか。 まだ、続けられそうだね。
Ruby厨出番だぞ
>>2 以降全部 sage っていうのはすごいな.
容赦なく sage
お前達のこういうところが好きだ
emacs -batch -eval "(progn (find-file \"nkf.txt\") (write-file \"/tmp/hoge\" nil 'euc-jp))"; cat /tmp/hoge; rm -f /tmp/hoge
eval `echo axs axs.gkg | nkf -r`
いかんなく sage
>>15 呼んだ ? (・∀・)
cat nkf.txt | ruby -e 'require "nkf"; readlines.each {|s| print NKF.nkf("-e", s)}'
さらに sage ます。
レス付きませんね。
というか, こんな所のスレを簡単にチェックできるのは navi2ch 使っている人だけのような気がする.
C-s +でよんでまーす。
nkf-1.92 ってバグだらけだと思うんだけど、どっかで patch を集めてたりしてませんか?
なんか一次配布元がわかりづらいですよね
>>28 どんなバグがあるんですか? 気付いたことなかったけど.
qkc つこてる人おらんの?
わし ack
>>11 で思いだしたけど、SJISの行とEUCの行が混ざってるファイルを
変換する、これより{簡単な|よい}方法あったら教えて。
cat mixed.txt | while read l; do echo $i | nkf -e; done
>>34 そんな面白い方法があったんだ.
僕なんか emacs で違うコーディングとして開いて,
それを手動で merge する方法しか思いつかなかった.
>37 半角カナとかでは問題出そう。 あと、>34だと\がエスケープされる(\だけ)のと、最後の行が完結 していないと尻尾切れになるから、 { sed -s 's/\\/\\\\/g' mixed.txt; echo; } | while read l; do echo "$i" | nkf -e; done かな。
39 :
名無しさん@お腹いっぱい。 :01/11/15 10:17
>>38 sed 使うんなら awk も使わせろ。
awk '{print|"nkf -e"}' mixed.txt
以下、perl も…(略) 藁
実は Nanndemo Kanji Filter なのだと聞いた
43 :
名無しさん@お腹いっぱい。 :02/03/09 20:58
NKo Funjatta
法法法法法法法法法法法法法法法法法法法料領法法法法法法法法法法法法法法法法法法 法法法法法法法法法法法法法法瞭麟麟麟麟麟麟麟麟麟麟法法法法法法法法法法法法法法 法法法法法法法法法法法法麟麟麟麟麟麟麟麟麟麟麟麟麟麟麟法法法法法法法法法法法法 法法法法法法法法法法法麟麟麟麟麟鱗鱗鱗鱗鱗鱗鱗鱗麟麟麟麟麟法法法法法法法法法法 法法法法法法法法法法領麟麟麟鱗瞭緑緑緑緑緑緑緑諒緑領緑麟麟麟法法法法法法法法法 法法法法法法法法麟麟麟麟鱗瞭瞭瞭緑緑諒諒諒諒諒諒諒諒諒諒麟麟麟瞭法法法法法法法 法法法法法法法鱗麟麟麟麟鱗瞭瞭緑緑遼諒諒諒諒諒諒諒諒諒諒諒麟麟麟法法法法法法法 法法法法法法隣麟麟麟麟麟鱗瞭瞭緑緑遼諒諒梁梁防法法法諒諒諒瞭麟麟鱗法法法法法法 法法法法法法麟麟麟麟麟麟鱗瞭瞭緑緑諒諒諒梁梁梁防防法諒諒諒諒麟麟麟法法法法法法 法法法法法法麟麟麟麟麟麟鱗瞭瞭緑緑諒諒梁梁諒諒諒法防諒諒諒諒麟麟麟防法法法法法 法法法法法法麟麟麟麟麟麟鱗麟麟麟麟鱗瞭諒法法梁諒諒隣麟麟諒諒麟麟麟鱗法法法法法 法法法法法法麟麟麟麟麟麟麟麟麟瞭緑緑緑緑諒諒領遼領諒諒遼緑諒瞭麟麟法法法法法法 法法法法法法法麟麟麟麟鱗麟鱗瞭諒諒梁緑緑領諒諒諒領諒法防諒諒諒麟麟法法法法法法 法法法法法法緑麟麟麟麟鱗鱗麟麟麟麟鱗領瞭諒法法緑鱗麟麟麟諒諒諒麟瞭法法法法法法 法法法法法法瞭量麟麟麟瞭緑瞭瞭緑領遼諒緑遼防梁諒緑諒法防瞭諒梁麟緑法法法法法法 法法法法法法瞭瞭鱗遼鱗瞭緑諒諒諒諒遼緑緑緑諒諒防防梁諒諒法防梁防法法法法法法法 法法法法法法遼瞭瞭緑鱗瞭緑諒諒諒梁諒瞭瞭緑諒梁梁諒防梁梁法防防防法法法法法法法 法法法法法法法量瞭瞭鱗鱗緑諒諒諒諒量瞭瞭緑梁防防諒緑防法法防防法法法法法法法法 法法法法法法法瞭隣隣鱗鱗緑緑遼緑緑瞭麟麟麟緑緑緑法諒緑諒防防防諒法法法法法法法 法法法法法法法法法隣鱗鱗瞭緑瞭瞭瞭瞭瞭瞭諒諒諒防防防瞭緑諒梁防諒法法法法法法法 法法法法法法法法法瞭鱗鱗瞭緑緑麟鱗量量瞭瞭緑緑諒諒諒諒瞭諒諒防法法法法法法法法 法法法法法法法法法法麟瞭瞭諒緑瞭麟緑諒防法法法法麟緑諒緑諒諒法法法法法法法法法 法法法法法法法法法法麟鱗麟諒瞭瞭瞭緑瞭緑諒遼緑緑諒諒諒諒諒諒法法法法法法法法法 法法法法法法法法法法麟麟瞭瞭瞭瞭瞭量緑領領諒諒諒諒諒諒諒諒法法法法法法法法法法 法法法法法法法法法法麟麟鱗麟瞭瞭瞭鱗鱗瞭瞭緑遼諒諒諒諒諒諒法法法法法法法法法法 法法法法法法法法料鱗麟麟麟麟麟瞭緑緑諒諒諒梁防梁防諒諒法法法法法法法法法法法法 法法法法法法法鱗麟隣防隣麟麟麟麟鱗遼諒諒諒梁防梁諒諒法法法法法法法法法法法法法 法法法法法法麟麟麟鱗防防防麟麟麟麟鱗瞭領瞭諒諒領緑諒法法法法法法法法法法法法法 法法法法隣麟麟麟麟麟防法法法隣麟麟麟鱗鱗鱗鱗隣領諒諒法法法法法法法法法法法法法 法料麟麟麟麟麟麟麟麟防法法法法法麟鱗鱗鱗鱗瞭諒諒諒法法麟法法法法法法法法法法法 (省略されました・・全てを読むにはここを押してください)
45 :
名無しさん@お腹いっぱい。 :02/08/26 15:41
nkf は UTF-8 対応しないの?
自分は使ってはいないんで、あなたが使って色々報告されてはどうでしょう?
49 :
名無しさん@お腹いっぱい。 :02/09/28 00:14
50 :
名無しさん@お腹いっぱい。 :02/09/28 00:21
>>49 あいかわらず河野がかかわってるんじゃん。
またパッチひとつ当てるのに2年かかり、1行修正するのに
半年かかりの連続だぜよ。
とっととスタンダードを別なのに変えるべき。
51 :
名無しさん@お腹いっぱい。 :02/09/28 00:36
sjis.txt|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s |nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s|nkf -e|nkf -s > /dev/null
bash: sjis.txt: command not found $
53 :
名無しさん@お腹いっぱい。 :02/09/28 00:50
うけた。
POSIXのiconv(1)を知らない
>>50 が暴れるスレはここですか?
>>49 nkf から河野を引っ剥がすプロジェクトはそこですか?
56 :
名無しさん@お腹いっぱい。 :02/09/28 01:11
>>54 i昆布って、nkfと比べられるようなもんか?
57 :
名無しさん@お腹いっぱい。 :02/09/28 01:21
2.0 系って Namazu Developers ML での成果?
knkってなんだ
>>2 知らなかった。10年ほどNihongo kanji filterだとばかり
思ってますた。
iconvダメすぎ。SJIS(MS-CP932?)の◯の中に数字が入っている文字を 認識できないで、意味不明なエラーを吐いて死ぬ←これが問題。 それを採用している gtk+-2.0 はもっとダメすぎ。
qkcはどうよ。
63 :
名無しさん@お腹いっぱい。 :02/09/28 09:14
>>61 それはiconvが厳密に「正当な」文字しか認識しないから。
euc-jp-relaxedみたいなのがサポートされていれば、nkfみたいな
適当変換で乗り切れるのだが、あいにく大抵のiconvは何でも一回
Unicodeにするから、なかなかその手の変換は実装できない。
GNU iconv 1.8だと//TRANSLITなんてのが実装されているけど、
根本的な解決には程遠いような。
まあ貧乏人はeuc-jisx0213を食え、ということなんだろうなあ。
おれはよく使うよ。
66 :
名無しさん@お腹いっぱい。 :02/09/28 13:50
wkc
オプションにファイル名をつけた時のデフォルトの挙動や、 シンボリックリンクへの対応ができてなくてUNIXらしくない (もともとDOS 出身だからしょうがないんだけど) ので嫌う人はいるけど、変換効率は悪くないし、まとめて変換、って時に for ループ使ったり一時ファイルを自分で用意する必要がないので俺は使ってる。
>>46 いつのまにか UTF-16 対応しとるね。
早く Ruby に組み込んでくれ。
俺こんな使い分けしてる。 nkf: フィルタとして使いたいとき、MIME ヘッダエンコードの変換したいとき qkc: ファイルを変換したいとき、改行コード変換したいとき wkf: 文字コード判定だけしたいとき lv: UTF-8 の変換や閲覧したいとき ack: 何それ? iconv: 逝ってよし
>>66 ,69
良いねこれ。portsに入れて欲しいや
とりあえずFreeBSD用。まずは前半。
begin 644 ja-wkf.shar.gz
M'XL("!*SF3T"`VIA+7=K9BYS:&%R`*U6;6_B2`S^3'Z%5=!U*SH)"?2%W-*#
M`N78Y:4"ND7WX5`(`Z2$!"6A;*_J?S][DM*TA2PG'8H`V\]X[&=L9](PF%L^
MX&.`/^>V#89GSJU'+@/TC4<.5@"6@\:I9?-3\/C21:7A/`5SRYG!F$]=CTMI
M",B+;3F(,9P)BMR!M;,RS`5Y?\!=P+NT9(C?RZ<'>$.'3?`!0A8&D_HQ/2X
M$7"86!XW`]>SN/^[@/K"9TP-&PLC'7-P-PZ?D/LG=TT@=#*GJ"=\:JSM`%;<
M6UJ^;[F.+TMIM(ILHQ3!=)W`L!Q?)U/JP5@9#O=Y[*_2-A:<(I`MQXSK-XOI
M!W$+_:B?6'
[email protected] /WHUXDME.IK(S`G+/8WDDP3&)JS=;>IXU7BQD:ETMD?I=I
MPGW3VV58V1@Q,L+-N0LF,-@2LUS@&0!;;35P!<J$/RK.&H]#N_I-#1?]C"UZ
M3Z&/IW7L*W\/%>48KG9BX.M7.*YW:LR=LIV`8VF8ALR-Q_EUOZ;#RO4"7]F)
M/'T$52Z`ELOEE-REHEV`>JZ?:7JA``MG#?6?*\B@,VDH#6^_-SJ5=OVV5[]I
M#O\H(2M,2@KB,SNB)CXQ1-I#6'I707M8BF-VLA0'($NWW=Z`DBJE*#0A_JCW
M^LUNIY12Y;RL2L-J95!O='O->K_T5O_#=J4_J/=&_>:`]/,@6.F*LMELY/83
MUK)Y7VFU9*PLQ7>GP<;PN.)[ID(LWO7KH^N_FK=:*?6$Q3UL=.Y&U6[GIMFX
MZ]4CW58>57H-=,\8=XRQS5G4LXRO3?:PDH;-3G^`._5'_3];S>MH-07744LI
M2HD20*E5Z30H>C+2T=CK"=(S]B<RE8:\7%Q)243M.8QMVR8<QBMF[V&\`O`P
MVK4S^((Z)IB7`\.3Q_]H)U""J<GS175L:N>&5N079X8VUJ83,W]9G.3&A:(I
M)7G>78?1<-E9C:'MT)K<-Y`26-FS9"])>_#(&6,,8AH99_\L=8\[?UL[V-60
>>73 の続き。
MR^GJA9Z_I`['6LAFLW%X:K#FT#4#`!6TO)[/Z?DB(35I6"X#*YY>0):^RF5I
M"&/+0:Y2@)\2E$.)]+8UCNE#B?11G1&_9'@3T<B61MQ9*)65S#-5Z@O&N=M.
M%0SX5*NI%*JK5=JG5K_I"Y'^E,/(SPL4NO@6L>-SV^LV2J++X9::!0.E!D&/
MK!^3?1=++X\1?%2&7L1#.ZB:2EO0S^5V#WPR7VCAB4Y_NM??3M!]*O.E53L!
M=NW/<1)0(P-S7X%ON"SBJE7$"=@$V+U]RGS7,9;\]!6\;UVK,^J?;$W;J+=1
MI?_?3T1!(2\H*,1IQKM"8-@V6WGN3-<Q-.(=HX04RSRW?[P`FT+F.:R>%SQP
M,K]\ULBN/1'4/4<S#A?Z\`DNLG^%C,C8J[1?=N'BL2$_86BO1(I?HFP>!=H3
M3L):%C$AXD7Z#ZUYP*QXNY4<."FV"PZ:$UMT-"6V<C@CJ/,KZQG-"+6HY\_T
MG!IU/LV(+?C#A-`N$1J;$&I!*V#]9Z-?400`W*97)/4N5&]:%7R%';$9L%JM
M?GW7.!*6J851A3@60W4U-&?3H2&;_F@1RT1)'YS]GH.(W_P2Z(_!]I(>PR#5
M].8_]N&[X3Q8<&/9>*67?K$J(<3P!OJ+``4H,3R!V!,<7@GN[^]U..`.0^ZD
MQ#T24@GOS+](18`24Q$(3"5ZG2A1UV*?B]OE$'M6>1OM,8FFX3L11WKB)A+_
-:062]"^@I@MO_PT`````
`
end
>>73 戻せないよお ヽ(`Д´)ノ ウワァァン
キボンヌ〜キボンヌ〜 ☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・) < 病ウプキボンヌ \_/⊂ ⊂_ ) \__________ / ̄ ̄ ̄ ̄ ̄ ̄ /| | ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
>>75 ありゃ、確かに一行壊れてる行があるな。そいじゃBASE64でもう一度。
まずは前半。
begin-base64 644 ja-wkf.shar.gz
H4sICBKzmT0CA2phLXdrZi5zaGFyAK1WbW/iSAz+TH6FVdB1KzoJCfSF3NKDAuXY
5aUCukX34VAIA6SEBCWhbK/qfz97ktK0hSwnHYoA28947GdsZ9IwmFs+4GOAP+e2
DYZnzq1HLgP0jUcOVgCWg8apZfNT8PjSRaXhPAVzy5nBmE9dj0tpCMiLbTmIMZwJ
ityBtbMyzAV5GD8BdwLu0ZIjfy6cHeEOHTfABQhYGk/oxPS4EXCYWB43A9ezuP+7
gPrCZ0wNGwsjHXNwNw6fkPsnd00gdDKnqCd8aqztAFbcW1q+b7mOL0tptIpsoxTB
dJ3AsBxfJ1PqwVgZDvd57K/SNhacIpAtx4zrN4vpB3EL/aifWH5gOVP3o14ktlOp
rIzAnLPY3kkwTGJqzdbep41Xixkal0tkfpdpwn3T22VY2RgxMsLNuQsmMNgSs1zg
GQBbbTVwBcqEPyrOGo9Du/pNDRf9jC16T6GPp3XsK38PFeUYrnZi4OtXOK53asyd
sp2AY2mYhsyNx/l1v6bDyvUCX9mJPH0EVS6AlsvllNylol2Aeq6faXqhAAtnDfWf
K8igM2koDW+/NzqVdv22V79pDv8oIStMSgriMzuiJj4xRNpDWHpXQXtYimN2shQH
IEu33d6AkiqlKDQh/qj3+s1up5RS5bysSsNqZVBvdHvNer/0Vv/DdqU/qPdG/eaA
9PMgWOmKstls5PYT1rJ5X2m1ZKwsxXenwcbwuOJ7pkIs3vXro+u/mrdaKfWExT1s
dO5G1W7nptm469Uj3VYeVXoNdM8Yd4yxzVnUs4yvTfawkobNTn+AO/VH/T9bzeto
NQXXUUspSokSQKlV6TQoejLS0djrCdIz9icylYa8XFxJSUTtOYxt2yYcxitm72G8
AvAw2rUz+II6JpiXA8OTx/9oJ1CCqcnzRXVsaueGVuQXZ4Y21qYTM39ZnOTGhaIp
JXneXYfRcNlZjaHt0JrcN5ASWNmzZC9Je/DIGWMMYhoZZ/8sdY87f1s72NWQy+nq
hZ6/pA7HWshms3F4arDm0DUDABW0vJ7P6fkiITVpWC4DK55eQJa+ymVpCGPLQa5S
>>78 の続き。
gJ8SlEOJ9LY1julDifRRnRG/ZHgT0ciWRtxZKJWVzDNV6gvGudtOFQz4VKupFKqr
VdqnVr/pC5H+lMPIzwsUuvgWseNz2+s2SqLL4ZaaBQOlBkGPrB+TfRdLL48RfFSG
XsRDO6iaSlvQz+V2D3wyX2jhiU5/utffTtB9KvOlVTsBdu3PcRJQIwNzX4FvuCzi
qlXECdgE2L19ynzXMZb89BW8b12rM+qfbE3bqLdRpf/fT0RBIS8oKMRpxrtCYNg2
W3nuTNcxNOIdo4QUyzy3f7wAm0LmOayeFzxwMr981siuPRHUPUczDhf68Akusn+F
jMjYq7RfduHisSE/YWivRIpfomweBdoTTsJaFjEh4kX6D615wKx4u5UcOCm2Cw6a
E1t0NCW2cjgjqPMr6xnNCLWo58/0nBp1Ps2ILfjDhNAuERqbEGpBK2D9Z6NfUQQA
3KZXJPUuVG9aFXyFHbEZsFqtfn3XOBKWqYVRhTgWQ3U1NGfToSGb/mgRy0RJH5z9
noOI3/wS6I/B9pIewyDV9OY/9uG74TxYcGPZeKWXfrEqIcTwBvqLAAUoMTyB2BMc
Xgnu7+91OOAOQ+6kxD0SUgnvzL9IRYASUxEITCV6nShR12Kfi9vlEHtWeRvtMYmm
4TsRR3riJhL/aQWS9C+gpgtv/w0AAA==
====
>>78 .79
uudeviewで戻せました。thx
>>82 FreeBSD の ports を使おうってんだから FreeBSD を使っていんだろうけど
最近の uudecode は base64 も認識するぞ。
まじですかっ。知らなんだ。 んでも、openssl base64 -d で戻せるので uudeview はやっぱりいらない。
nkf で base64 ほどけりゃいいのに。 と話を nkf に戻してみる。
>>85 > nkf で base64 ほどけりゃいいのに。
-mBじゃダメなん?
ほどくってのがどういう意味かわからんけど。
>>86 すんません、「デコード」するっていう意味で言いました。
それだと、バイナリデータでも無理矢理勝手に文字コード変換して壊れちゃわない?
>>87 ああ、そういうこと?
でもそれを`Network Kanji code conversion Filter'に求めるのはちと酷では
ないかと。
別にBase64云々は関係ないわけだし。
eXg
B%F%9%H (J)
93 :
名無しさん@お腹いっぱい。 :02/10/26 09:48
ファスナーにykkって書いてあるよ。
knkってなんだ
nxtってなんだ
ギャバソ!
あばよnxt
ギャバソ!
よろしくzsh
よろしく ゆ○き@甲府
よろしくメカドック
宇宙キチガイィ〜〜〜void〜〜〜〜〜〜〜〜〜〜〜〜〜〜
(^^)
108 :
名無しさん@お腹いっぱい。 :03/03/19 02:30
ミルクとクルミ
kcc も ack も一応入ってるけど、どーいう時に使うのさ?
自分で nkf もどき書いてみたんだけど、nkf のほうが全然速いよ。 文字コード判別してないのに。
書き直したら余裕で勝てた。文字コード判別はないけど。 最速はどれなのかな。
いまどき多少の性能の差はどうでもいいと思われ。 固有の機能を必要とするんでなければ、スタンダードとしての知名度・普及度と安心感が第一。 たとえば、配布したり他人に使わせることが前提のシェルスクリプトの中で コード変換したくなったとき、何を使うかというと、 やはりたいていのマシンにあって枯れているnkfということになるだろう。 nkfでもいいような用途なのに「qkc使ってるんでqkc入れてください」とかいわれるとちょっと引く。 まあ最近はworldwideではiconvのほうがメジャーかもしれんが、 Unicodeを経由する時点で不安はぬぐえない。 昔ならcocoも有力だったが、さすがにもうmuleもろともあぼーん気味だしな。
なんか懐かしいな coco
>>112 iconv って必ず Unicode 経由すんの?
Chalice のページで、 「変換精度の観点から qkc をオススメします」とあるのだけど、 nkf の変換精度ってそんなに qkc より悪いの?
116 :
名無しさん@お腹いっぱい。 :03/03/27 19:07
変換精度? さぁ、どうなんでしょうね。 速いってのは嘘だと思うけど。速さよりは拡張しやすいようになっている はずだよ。iconvみたいなのとは、また、違うしな。
あぼーん
iconv の "i" って "imouto" の事?
(^^)
あぼーん
122 :
名無しさん@お腹いっぱい。 :03/06/02 23:43
判別だけの動作も出来て、utf8も扱えるフィルタきぼんぬ qkcをutf8対応にするか、nkfに判別機能を付けるかかなあ。
nkfのソース覗いてみたら、--debugオプションハッケソ これで判別の用は足りそう。 somewhere% nkf --debug hoge.txt > /dev/null UTF-8 somewhere% まあこれに免じてageちったのは許してちょ
あぼーん
UNIX何でも相談室(無料) OI2O-69-OI96
test
すげえ、1年以上意味のあるカキコのないスレッドだよ
本当だ 珍しいスレだ
うん、記念ぱピコだ
UNIX板では, そんなスレぜんぜん珍しくないんだよもん. 過疎だよもん?
132 :
名無しさん@お腹いっぱい。 :04/07/02 03:02
底上げ
あーあ やっちゃったよこの人
二歩ですけどね。
135 :
名無しさん@お腹いっぱい。 :04/07/17 22:03
うまちょびれ〜っ!
136 :
名無しさん@お腹いっぱい。 :04/07/20 00:00
ioscan -nkf これじゃないの?
kcc が最強なわけだが…
138 :
愛・昆布 ◆qvkminQt6g :2005/03/28(月) 23:20:29
ぼくわこんぶがだいすきですぼくがこんぶがすきなところわおいしいからこんぶはすきですおでんのこんぶはぜんぶたべてしまっておとおさんにおこらいましたもうしないようにしないとおとおさんがこわいのでしません。
そのままアルジャーノンで
140 :
名無しさん@お腹いっぱい。 :2005/04/16(土) 07:42:34
iconvやuconvがあるからもうnkfとかqkcとか日本ローカルなものはいらないね
すごいね.2001年からのスレかよ.
>>140 iconv や nkf, qkc を一緒くたに比較しちゃう時点でアレとかいうのは置いといて、
uconv ってなんじゃい?
ぐぐれば?
Non Korea Future
あがっちまったものはしょうがない、 文字コード変換総合スレということにでもしてみるか
iconv糞っていってるやつは、libiconvにパッチを当てるって事を 思いつかないんだろう。
どのOSでもパッチをあてられるというわけでもなく。
自動認識の要求もそれなりにあるからなあ。 まあでもiconvに成功するまでいろんなencodingで試すというやりかたも なくもないか。gonzuiはそうやっているらしい。
>>146 パッチ当てなきゃ糞っていうなら十分糞だと思うが?
nkfのnってなんで?
nantonaku kayuitokorowo funsaishita
Cのライブラリとしてつかえるのって、iconvとwkf以外にはなにがあります?
上書きしようとして -O をつけると無変換にならなくねが?おらがのバージョン2.04だども。
154 :
名無しさん@お腹いっぱい。 :2005/06/12(日) 08:27:41
age
155 :
153 :2005/06/13(月) 09:09:31
ヤバイ上書きは--overwriteらしい。今は反省している。
156 :
名無しさん@お腹いっぱい。 :2005/12/31(土) 17:24:03
> あいかわらず河野がかかわってるんじゃん。
tar xvf nkf203.tar # 最新版
grep -R . void
nkf.c: void (*status_func)PROTO((struct input_code *, int));
...
nkf.c: **
[email protected] (Kusakabe Youichi)
fujitsu最大の成果物ということでよろしいでしょうか?
158 :
名無しさん@お腹いっぱい。 :2005/12/31(土) 18:02:43
でも河野さんはsonyでしょ。(当時)
--guess はバグってる? % nkf --version Network Kanji Filter Version 2.0.5 (2005-04-10) Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW, 2002-2005 Kono, Furukawa, Naruse % nkf --guess utf8 UTF-8 % nkf --guess utf8 utf8 utf8 utf8:UTF-8 utf8:EUC-JP utf8:EUC-JP
>>160 ああ!思い出した。 ruby-dev に出てたのと同じ問題ですね。
桜が咲くのを待ちつつ、修正版を使いますです。どうもです。
162 :
成瀬 ◆NBGqNARUSE :2006/03/11(土) 14:09:50
modify したんだから更新しといた方がいいんじゃない? わりとどうでもいいけど。
164 :
名無しさん@お腹いっぱい。 :2006/03/11(土) 16:48:26
過疎スレに書き込むなボケ
迷ったときはオプションを追加して泥沼化
デフォルトでmtimeを更新するようにしたら、
cp -p を真似して、mtimeを更新しない -p オプションを追加する気ではいます。
>>164 わざわざageてくださってどうも、しかもツンデレで。
>>166 --overwrite が長いオプションなので、 (tar 風に) --preserve とかがいいかなあ。
一文字オプション文字空間はそれほど広くないでしょう。
qkcの-jがくさってるってのは、具体的にどんな場合?
171 :
167 :2006/03/13(月) 00:35:36
意図してやってるなら仕方ないですね。 とりあえずそのままで、タイムスタンプ変えたい人が多く出てきたらオプション新設、 とかでもいいように思います。 そういえば先日 Subversion でファイルを nkf --overwrite してからコミットしようとしたら 一向にコミットできなくてはまってしまった。 --overwrite のタイムスタンプの件は man に書いてなかったですよね?
タイムスタンプの件はマニュアルには書いてありませんね。 とりあえずマニュアルは更新しておくことにします。
173 :
167 :2006/03/13(月) 00:55:26
すんません、お手数かけます。
174 :
167 :2006/03/13(月) 10:10:02
思い出した。 今更なので、変えてくれという話ではなくて、素朴な疑問なのですが、 「--overwrite」って一般的なもんなんすかね? GNU sed だと --in-place だったり Perl や Ruby だと -i ですよね。
別名の案を考えるのにフィルタ系のコマンドを一通り調べてみたのですが、 * 相当するコマンドが無い * デフォルトが上書き がそもそも大多数で、わたしが見つけられたのは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 を含むようにしています。
177 :
名無しさん@お腹いっぱい。 :2006/06/03(土) 16:36:10
SJISで全角'−'記号の0x817CをUTF-8Nの0xEFBC8Dに変換する オプションを教えて欲しい。 普通にC:\>nkf -S -w test.sjs > test.utf8nとかしても 0xE28892に変換され、他のソフトに読み込むときうまく 読み込まれず苦労しています。 TeraPadで読み込んでUTF-8Nで変換すると0xEFBC8Dに変換されます。 あと、全角の'¥'記号が半角の'\'記号になってしまうのも。
人に聞くよりソース読んじゃった方が早くね?
>>177 nkfのversionは?
iconv使った方がいいかもね。
180 :
177 :2006/06/04(日) 17:35:32
nkfのVersionはたしか2.07betaだと思う。 Vectorでダウンロードしたやつで、 色んなVersionが同梱されていました。 因みにiconvってWindowsで使えるの?
それだとあなたの言う動作になっているね。 2.0の頃は¥のままだったんだけど。 iconvはcygwinに入っているよ。
--cp932
183 :
177 :2006/06/05(月) 08:47:49
>>182 nkf -S -w --cp932 infile.sjis > outfile.utf
で望の結果となりました。アリガトウゴザイマス。
184 :
名無しさん@お腹いっぱい。 :2006/06/05(月) 09:15:25
>>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:]]' で済みそうだけど。
IDに注目。 なんかうれしい。
187 :
186 :2006/12/08(金) 03:00:07
俺はバカだ。ここはUNIX板じゃないか(泣 (ちなみに俺の今の -> "nkf2PDI3")
おめw
189 :
名無しさん@お腹いっぱい。 :2007/01/19(金) 11:03:37
バグでしょか? 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=?=
MIMEのオプションも指定しなきゃだめだよ
191 :
189 :2007/01/19(金) 13:37:09
>>190 >>190 さんは MIME のオプション指定で再現しなくなりましたか?
NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。
試しにそれぞれに -m オプションを付けてみましたが、同じ出力結果となりました。
nandedaro kizukebakokanni fuzisanga...
あいうえお =?iso-2022-jp?b?gqA=?=
とりあえず現状を。 1. エンコーディングの確定前にMIME文字列が出現した場合認識しない 2. 一部のエンコーディングでMIME encodeされたJISな文字列が文字化け の二つの問題と認識しています。 後者は手元で修正しました。 前者は現在ちとてこずっています。 回避方法としては、エンコーディングがわかる場合は明示的に指定する、になります。
195 :
189 :2007/01/21(日) 14:59:59
前者の方ですが、確かに入力のエンコーディングを指定したらうまくいきました。 自動判定が絡んでくるとなると厄介そうなのはなんとなく想像つきますので、 あまり期待しないで期待しておきます(?)。 対応ありがとうございます。
196 :
189 :2007/01/30(火) 16:59:22
CVS 先端で後者の方が直っていました。ありがとうございました。
>>191 > NKF 1.9以降は MIME のオプション (-m) はデフォルトで有効になっていると思います。
まじかよ
なんだよ、このウンコ仕様は。
さよなら、nkf。
>>197 わたしも微妙な仕様で正直変えたいと思っているのですが、
調べたところどうも1.7あたりから導入されているらしく、
いまさらそう簡単には変えられないというのが現状です。
っと思っていたのですが、Ruby1.9にあわせてnkfを2.1にし、
そこでこの手の変えづらかった仕様に手を入れてしまうのもありな気がしてきました。
少し検討してみます。
199 :
197 :2007/11/18(日) 12:20:20
真面目なレスありがとう。 過去の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 では半角カタカナの入力に対して、半角カタカナを出力していましたが、 これからはゲタを返すようになります。
208 :
201 :2007/12/16(日) 17:44:56
>>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です
211 :
201 :2007/12/30(日) 02:00:38
>>210 元ファイル名の文字コードが SJIS 固定と決まっているのなら
nkf -Swu
ファイル名がutf8なんだろ。
nkf は行ごとに文字コードを判定することもあったようなその部分は壊したような、 とりあえず、ID3タグのみがShift_JIS (たぶんCP932)なのですから、そこだけ変換するべきでしょう。 mplayer | ruby -nrnkf -e'puts /^(Title|Artist)/=~$_ ? NKF.nkf("-w --ic=cp932",$_) : $_' これだとバッファ周りがだめそうですが
214 :
210 :2007/12/31(月) 01:36:18
ありがとうございます 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の行が混在しているのが問題なので、
そろえてしまわないと解決は面倒になります。
216 :
210 :2008/01/06(日) 21:14:58
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 がデフォルトだったのでそれってどうよ、だったと。
nkf"コマンド"ではやって欲しいな
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する
先にecho -nしとこうぜ
悪いこといわんから、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 から最新版を落としてくださいまし
いやがらせですねw
2.0.10マダー
入力が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)
おぉ!!
win板のバイナリ来ない (T-T
250 :
名無しさん@お腹いっぱい。 :2009/12/29(火) 17:24:35
64bit版てあるのかな?
環境変数LANGで設定した文字コードへ変換するオプションが欲しいです。
skfを使え
skf にそういう機能はないです。nkf の方は対応したことになっているらしいんですけど、もともとロカールからエンコーディングを抽出するのは POSIX 仕様上困難なので、なにか上手い方法が見つかったら考えます。
254 :
名無しさん@お腹いっぱい。 :2010/05/23(日) 12:34:07
nkfで2ch内のスレタイ検索してここに来ました。(ここだけでした) ウインドウズ環境でnkf32.exeを使ってみた(nkf32.exe -w16L --overwrite)の ですが、全角の―(ダッシュ)がハイフンだかマイナスだかに変わってしまいます! これは滅茶苦茶困ります。もう泣きそうです。 誰に言えばいいのか分からないからここに書きます、何とかしてください!!
>>254 --cp932 オプションを付けてみると?
>>255 ぎゃー、上手くいきました!
嬉しいです、どうもありがとう。
ショックで良く調べもせず騒いですみませんでした。
本当にありがとう!
manが化けるのって嫌がらせ?
うん。
manコマンド
manドマンコ
> 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入れ直すだけだね
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 がリリースされるころに出ます。
8月初旬か・・
nkf-2.1.1.tar.gz 日付: 2010-09-13, サイズ: 153.8 KB
あらま。 19:30にsourceforgeを覗いたときはまだ2.1.0が最新だったのに、生き馬の目を抜くような。
make testでtest_data/ruby-dev:39722がFailになるよ
それ、もう報告されて直ってるよ
280 :
278 :2010/09/22(水) 13:23:20
ありがとう。解決しました。
nkfは、linux用に nkf.dll を導入すべき。
他のプログラムから利用できるライブラリがあるといいね。
nkf はもう、Ruby のためだけにメンテされてるのではなかろうか。
DOSでUTF-8 -> SJIS変換に役立っています。(^^)/
そういえば、デフォルト出力コードがsjisになったことなかったけ。
いつになったら'%EF%BC%AE%EF%BC%AB%EF%BC%A6'を小細工なしでデコードできるようになるの?
echo '%EF%BC%AE%EF%BC%AB%EF%BC%A6' | nkf --url-input じゃだめなん?
いつになったら'%EF%BC%AE%EF%BC%AB%EF%BC%A6'へ小細工なしでエンコードできるようになるの?
スクリプト言語使えよ
291 :
名無しさん@お腹いっぱい。 :2011/07/27(水) 20:05:47.10
全角ハイフン「―」(EUC-JPで a1 bd)のUTF-8って nkf -Ew で変換すると e2 80 94 iconvで変換すると e2 80 95 どちらが正しいの? UTF-8の e2 80 94をiconvでEUC-JPとに変換すると iconv: illegal input sequence ってエラーで中断。 nkf -We なら e2 80 94も e2 80 95も a1 bd に変換される。
291です。自己解決しました。スレ汚しスマソ
どう解決したのよ。
> nkf -Ew で変換すると e2 80 94 EM DASHか > iconvで変換すると e2 80 95 HORIZONTAL BARかって違いだよね。
新版来たけど、まだ
>>288 には対応してくれないよー。
perl -ane 's/([^\000-\040a-zA-Z0-9$-_.+])/sprintf("%%%X", ord($1))/ge; print $_' これで我慢しとけ
298 :
アンネ :2011/12/10(土) 00:00:22.89
やぁ(笑)
test
300
301 :
名無しさん@お腹いっぱい。 :2012/03/16(金) 11:19:06.84
“--windows“ に “-x“ も加えてくだしa つか、半角カナのある文字種に変換するときは、わざわざ全角に直さんでも(デフォルト)ええのでは
nkfぐらいの規模のソースすら改変できないユトリって多いね。
303 :
名無しさん@お腹いっぱい。 :2012/04/30(月) 15:03:54.47
$ echo '%a3%c5%a3%d5%a3%c3' | nkf --url-input -g ASCII となるのは重々理解できるが、 $ echo 'EUC' | nkf -g EUC-JP と同じ結果になってくれんですかー。
echo '%a3%c5%a3%d5%a3%c3' | nkf --url-input | nkf -g
305 :
名無しさん@お腹いっぱい。 :2012/04/30(月) 17:44:59.84
何を入力しても、一つ目のnkfのデフォルト出力コードが表示されるだけでは。
そろそろ UTF8-MACに対応してくれないかな..
成瀬どこいった
まだ何か実装しないといけないことってあるんかな。 正直nkfのコードってかなり読みにくいしメンテするのも辛そう
309 :
名無しさん@お腹いっぱい。 :2013/09/20(金) 05:15:16.91
nkfでコード変換のついでに全角スペースを半角スペース2個に変換したかったので man見たら -Z2 っていうオプションがあったので使ったら、、 全角スペースだけじゃなく、全角英数記号まで半角に変換されるw 全角スペース→半角スペース2個の変換だけをやるオプションないの? そのためだけにパイプでsedかますの無駄っぽいので。
sedでいいじゃん。
sedで全角処理させたらバグがあるからなぁ… (setlocale()不完全)
nkfがknifeに見えた
sed nkfがsenno knifeに見えた
2.1.3 unf系は来なかったか..
2年振りか