作者: dune
日時: 2004/1/17(17:19)
極悪です。

perl(ActivePerl v5.8.2 build 808)付属の piconv で 
UTF-16LE のテキストを Shift-JIS に変換してみたのですが、
うまくいきません。

一行だけのテキストなら OK なので、なんとなく要らないはず
の BOM の処理がこけてるのかなと思うのですが(元テキスト
には BOM はないが)。

piconv の元ネタ? の iconv も改行の処理をミスっているの
か 0x0D が余計につきます(入出力どちらかのテキスト/バイ
ナリモードが変?)。

結局 tconv(http://www.piedey.co.jp/softs/tconv.html)
しか期待どおり動いてません。

何か勘違いしてますか?



D:% echo 1234 | xd
0000000  3231 3433 0d20 000a
0000007

D:% xd data.uni
0000000  307b 3052 000d 000a 307b 3052 000d 000a
0000010

D:% piconv -f UTF-16LE -t CP932 data.uni
?到??
D:% piconv -f UTF-16LE -t CP932 data.uni | xd
0000000  d982 b082 3f0d 9e93 3f3f
000000a

D:% iconv -f UTF-16LE -t CP932 data.uni
ほげ
ほげ

D:% iconv -f UTF-16LE -t CP932 data.uni | xd
0000000  d982 b082 0d0d 820a 82d9 0db0 0a0d
000000e

D:% tconv utf-16le x-sjis-cp932 data.uni
ほげ
ほげ

D:% tconv utf-16le x-sjis-cp932 data.uni | xd
0000000  d982 b082 0a0d d982 b082 0a0d
000000c

D:%
-- 
FZH01112 at nifty.com
http://hpcgi1.nifty.com/dune/gwiki.pl?