potisanのプログラミングメモ

プログラミング素人です。昔の自分を育ててくれたネット情報に少しでも貢献できるよう、情報を貯めていこうと思っています。Windows環境のC++やC#がメインです。

Ruby

Ruby 2 Fiddle/Win32APIでWin32 APIのUnicode版を呼び出す時はUTF-16LEエンコーディングが必要

Win32APIパッケージからFiddleパッケージへの乗り換えようとして、Unicode文字列(WCHAR, LPWSTR, LPCWSTR, OLECHAR, LPOLESTR, LPCOLESTR)を扱う関数、特にAnsi版が存在しないOLE関数周りで文字化けが起きて困っていました。 文字コードについて色々と調べ…

Ruby 2 DOSISHなパス(「\」(バックスラッシュ)区切りのパス)を整形する

本文 File::globで取得されたファイルパスの様に始めからRubyで取得されたファイルパスなら良いのですが、環境変数やWin32 APIが絡んでくるとパス区切りに「\」(バックスラッシュ)が使われます(DOSISH)。今回はそれにとりあえず対処するためのコードです…