UnicodeString

http://blogs.codegear.com/abauer/2008/01/09/38845/
http://blogs.codegear.com/abauer/2008/01/09/38846/
via http://bousyo.blog45.fc2.com/blog-entry-195.html

ついに参照カウント付きWideStringことUnicodeString登場。*1
{$UC+}でstring = UnicodeStringになるようです。
ソースコードはDBCSのままでもUnicodeにしてもうまいことやってくれるらしい。流石、わかってますね。

もうひとつ希望を言うなら、System.pasでAnsiStringの別名として定義されているUTF8Stringを、完全に別の型にして、混ぜて使うとエラーが出るなり自動でコード変換するなりして欲しいのですが、Windows APIを使っている限りUTF-8なシーンは無いので、贅沢でしょうか。

*1:あれ?KylixはWideStringが参照カウント付きだったような……VariantとOleVariantのように、WideStringとOleWideStringで良かったのでは?