Delphi 2009 の文字列 (Unicode) - Delphi 2009

Delphi2009からは文字列が全面的にUnicode文字列に置き換わりました。 どんな感じか見てみましょう。 まず、下図のコードを記述してみます。


実行結果は下図のとおりです。


従来のDelphiでの実行結果は下図のとおりです。

文字インデックスがバイト単位から文字単位になっており、 stringの文字列がWideStringと同様の扱いになっていることがわかります。
続いて、Char型変数に2バイト文字を代入してみます。 下図コードは正しくコンパイルできます。


あたりまえですが、2文字以上、代入することはできません。 下図のコードはコンパイルエラーとなります。



続いてPCharで宣言した文字列も試してみます。 下図のコードを記述してみます。 インデックスの5番目の文字を取り出してみます。

実行結果は下図のとおりです。2バイト文字が取り出されていることがわかります。



string, Char, PcharともにUnicode文字列になっていることがわかります。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2008-09-20
iPentec all rights reserverd.