2007年1月16日火曜日

D言語 toMBSzメソッド

昨日の宿題事項 std.file.toMBSz について調べてみました。

char* toMBSz(char[] s);
Win9x は "W" API をサポートしないため、まず文字列を
wchar に変換してから現在のコードページに従い
マルチバイト文字列に変換します。 (yaneuraoに感謝)

Deprecated:

変わりに std.windows.charset.toMBSz の仕様が
推奨されています

そっか…こっちは古い仕様だったのね。
で、std.windows.charset.toMBSz を見てみると…

char* toMBSz(char[] s, uint codePage = cast(uint)0);
UTF-8 文字列 s を null終端の Windows 8-bit 文字セットに
変換します。

Params:
char[] s 変換元の UTF-8 文字列
uint codePage 変換先のコードページ番号か、0 - ANSI, 1 - OEM, 2 - Mac

Authors:
yaneurao, Walter Bright, Stewart Gordon


…引数が追加されてる。コードページが指定できるのか。
ちなみに、上記関数の元となっている情報はコチラ↓

D言語研究室 文字コードにまつわるエトセトラ
http://www.sun-inet.or.jp/~yaneurao/dlang/Chapter-07.html

帰ったら早速、昨日のコードの書き直しじゃーっ。

…え、今?


仕事中ですが何か?(ぉぃ;