From: "NARUSE, Yui" Date: 2008-01-28T23:33:44+09:00 Subject: [ruby-dev:33476] Re: Win32OLE: set encoding to OLE string 成瀬です。 Masaki Suketa wrote: > 助田です。 > > 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.の処理は > ありませんでした。 > > 独自にハッシュで持つ程度なら気にしなくてもいいのか。 2で数文字変換すれば埋もれてしまう程度の処理だと思います。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA