「質問はあまりにも愚かではない」部門からのものです:Delphi 2009のUnicode(/ UTF16)への切り替えは、実行可能なサイズとメモリフットプリントにどのような影響がありますか?
さて、被験者の言うとおり、影響はありますか?もしそうなら、どれくらい?私のコードと私のDFMのリソースにあるすべての文字列リテラルは、コンパイルされたバイナリの2倍のスペースを占有しますか?コンパイルされたアプリケーションのランタイムメモリ使用量はどうですか?すべての文字列変数は現在RAMの2倍の量を占めるでしょうか?私も気にする必要がありますか?
初期のプレリリースのWebキャストの1つで尋ねられたようなことを覚えていますが、私はその答えを覚えていません。そして、試用がわずか14日であるので、私が必要とする第三者図書館が更新される前に、試してみるつもりはありません(約1ヶ月で)。
コードで使用される文字列リテラルは、実際に使用されているコンテキストで解釈され、それに応じて実行可能データにエンコードされます。つまり、文字列リテラルがAnsiStringに割り当てられている場合、それはAnsiとしてエンコードされます。リテラルがUTF8Stringに割り当てられている場合は、UTF-8としてエンコードされます。リテラルがUnicodeStringに割り当てられている場合、それはUTF-16としてエンコードされます。 –
DFMは、UTF-8をサポートしています。 Unicode文字列は、UTF-8またはUTF-16としてエンコードできます。 –
実行時のUnicodeString変数は、実行時に2倍のRAMを消費します。 AnsiString、UTF8String、およびその他のAnsiベースの変数はそうしません。 –