蝉は、やがて死ぬる午後に気づいた。ああ、私たち、もっと仕合せになってよかったのだ。:2004年03月21日分

2004/03/21(Sun)

(ry

@GNU libiconv

iconv -l してみるとサポートしているエンコーディングにC99とかJAVAとかハッケソ。

$ echo "あいうえお" | /usr/pkg/bin/iconv -f EUC-JP -t JAVA
\u3042\u3044\u3046\u3048\u304a

Unicode Escape Sequenceって実体参照の範疇だからiconvで扱うのもなんだかなぁ。
将来的にHTML/XMLの"௢"とかもサポートされて、XSS脆弱性が見つかったりして。

@ってなわけで

Citrusでも互換性の名の元に、てけとーに実装してみた↓
/distfiles/citrus/NetBSD/citrus_ues-20040320.diff.gz
wcrtombでsnprintfのformat使ってるのはマズーだけど、まあ手抜きですから。
そのうち直す予定。
あと、こいつもzWと同じくmbstate_tにvalidなsingle byteが残る問題があるので、
iconvを直さんと変換が途中でstopしてしまう場合があるけど、まあまあ使える。