From: Masaki Suketa Date: 2008-01-28T22:45:51+09:00 Subject: [ruby-dev:33474] Re: Win32OLE: set encoding to OLE string 助田です。 NARUSE, Yui wrote: >> | (2) ruby の文字列をOLE側に渡すときには、cWIN32OLE_cpの >> | 値は無視して、毎回StringのencodingからUTF-16LEに変換 >> | した方がいいかどうか。 >> | ぐらいです。 >> (snip) >> | (2) は、毎回encodingを見た場合のパフォーマンスがちょっと気に >> | なってます。 >> >> うーん、変換した方がいいかどうか、だったら、した方がいいんだ >> ろうとは思うのですが、パフォーマンスは... > > 自動変換はアレルギーが出るのですがそれはさておき、 Win32OLE内で変換するんじゃなくて、Win32OLEに渡すrubyのStringの encodingはUTF-16LEを前提とする方がよいということでしょうか? > 今までの ANSI で渡している時でも毎回裏で Windows が変換しているんですか > ら、そこまで気にしなくてもいいようにも。 えーと、Stringのencodingを見る場合には、 1. Stringのencodingの情報を元にWindowsのコードページを求める。 2. UTF-16LEに変換する。 の2段階になって、1.の処理が増えるのが気になっただけです。 今までだと、必要に応じて、WIN32OLE.codepage= メソッドを使って 事前にWin32OLEを使う側が指定するという方針だったので、1.の処理は ありませんでした。 独自にハッシュで持つ程度なら気にしなくてもいいのか。 助田 雅紀