std.utf
UTF-8, UTF-16, UTF-32 文字列のエンコード・デコードを行います。Win32では、C の wchar_t 型は UTF-16 で、D の wchar 型に対応します。 Linuxでは、C の wchar_t 型は UTF-32 で、D utf.dchar 型に対応します。
UTF文字としてサポートする範囲は (0 <= character <= 0x10FFFF) に制限されています。
See Also:
Wikipedia
http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
http://anubis.dkuug.dk/JTC1/SC2/WG2/docs/n1335 Source:
std/utf.d
License:
Boost License 1.0. Authors:
Walter Bright
- このモジュールからの任意のエラーに対して投げられる例外です
- c が有効な UTF-32 の文字かどうかをチェックします。
Unicode規格によればアプリケーション内部での使用は許されているため、 \uFFFE と \uFFFF はこの関数では有効と判定されます。 しかし、相互交換用データとしては不正な文字です。
Returns:
有効なら true 無効なら false
- stride() は、文字列 s の
インデックス i から始まる UTF-8 シーケンスの長さを返します。
Returns:
UTF-8 シーケンスの長さを返します。 Throws:
s[i] がシーケンスの開始でない場合は UtfException を投げます。
- stride() は、文字列 s の
インデックス i から始まる UTF-16 シーケンスの長さを返します。
- stride() は、文字列 s の
インデックス i から始まる UTF-32 シーケンスの長さを返します。
Returns:
返値は常に 1 です
- 文字配列 s[] へのインデックス i が与えられると、
i がUTFシーケンスの開始と仮定して、
そこまでのUCSでの文字数を返します。
- 文字配列 s[] へのUCS文字数インデックス n が与えられると、配列上でのインデックスを返します。
- s[idx] から始まる文字をデコードして返します。. idx はデコードされた文字の直後へと進みます。 入力文字が正当でなければ UtfException が投げられ、idx は変化しません。
- 文字 c をエンコードし固定長配列 s へ格納します。
返値は、実際にエンコードされた後の文字の長さ
(char[4] バッファなら1~4の間の数、wchar[2] バッファなら1~2のどちらか)です。
- 文字 c をエンコードし配列 s へ追加します。
- c を型 C
で表現したときのコード長を返します。コードはバイト数ではなく文字数で返されます。
- 文字列が正当(well formed)であるかどうかをチェックします。S
はchar, wchar, dchar のいずれかの配列です。
正しくなかった場合 UtfException を投げます。全ての信頼のできない入力の正当性を確認するために使ってください。
- 文字列 s を UTF-8 へエンコードし、結果の文字列を返します。
- 文字列 s を UTF-16 へエンコードし、結果の文字列を返します。
toUTF16z は、LPWSTRやLPCWSTR型の引数を取るWin32 APIの 'W'
関数を呼び出すのに便利です。
- 文字列 s を UTF-32 へエンコードし、結果の文字列を返します。
- 文字列中のコードポイントの数を返します。
この関数への入力は必ず正しくエンコードされている必要があります。
Supercedes:
この関数は std.utf.toUCSindex() を置き換える物です。 Standards:
Unicode 5.0, ASCII, ISO-8859-1, WINDOWS-1252 Parameters:s カウント対象の文字列