On 04/10/2011 12:22, NARUSE, Yui wrote: >> 例えば、 >> >> $ ruby1.9 -ve 'a="あ";"あ".encode("euc-jp"); $SAFE=4; a.encode("euc-jp")' >> ruby 1.9.3dev (2011-09-23 revision 33323) [x86_64-linux] >> >> ↑これは動きますが、 >> >> $ ruby1.9 -ve 'a="あ";"".encode("euc-jp"); $SAFE=4; a.encode("euc-jp")' >> ruby 1.9.3dev (2011-09-23 revision 33323) [x86_64-linux] >> -e:1:in `encode': Insecure operation - encode (SecurityError) >> from -e:1:in `<main>' >> >> ↑これは動きません。 >> >> この「あらかじめロードする」技が、対象となるStringと関係なく動くわけでは >> ないとなれば、残念ながらワークアラウンドになりません。 > > 空文字や ASCII 文字列はエンコーディング変換を要しないので変換ライブラリをロードしません。 > なので、空文字では workaround にはなりません。 > "\uFEFF".encode(enc) rescue nil > などとすれば任意のエンコーディングでいけるはずです。 おぉ、素晴らしい。無事に回避できました。ありがとうございます。 かずひこ