2012-11-01から1ヶ月間の記事一覧

Haskell でSJIS文字列に変換したときのバイト数を得る。

Haskell でSJIS文字列に変換したときのバイト数を得る。 ターミナルに表を表示するときには固定幅フォントを使いますが、アルファベット、半角カナの混じった日本語を使って表を表示すると表が乱れてしまいます。 幅が半角フォントは全角フォントの半分です…

COM を学ぶ(11) : HaskellでExcel(ワイド文字列バージョン)

Haskell から COM を呼ぶ場合 HaskellからSJISに変換した後に MultiByteToWideChar、 WideCharToMultiByteを使用していましたが、Haskell はUcs4、COMはUTF16を使っていますので、日本語で使う分には文字コードを変換する必要はありません。 SysAllocString …

char wchar_t BSTR 文字変換テスト

Haskell から COM を呼ぶ場合 HaskellからSJISに変換した後に MultiByteToWideChar、 WideCharToMultiByteを使用していましたが、Haskell はUcs4、COMはUTF16を使っていて、日本語で使う分には文字コードを変換しなくても良いはずです。 そこで、WideCharToM…

COM を学ぶ(10) : SysAllocString を使って BSTR を作る。

Haskell から COM を呼ぶ ために MultiByteToWideCharを使わないでSysAllocStringで行うためのテストです。 SysAllocString で BSTR を作りますが、SysAllocStringはバイナリの文字列長を含まないワイド文字列の先頭アドレスを返します。読み取るときはCWStr…