Я пишу класс, который сохранит широкие строки в двоичном файле. Я использую Delphi 2005 для этого, но позже приложение будет перенесено на Delphi 2010. Я чувствую себя очень неуверенным здесь, может кто-то подтвердить это:
-
Delphi 2005
WideString
- это тот же тип, что и Delphi 2010String
-
Delphi 2005
WideString
char, а также Delphi 2010String
char гарантируется всегда размером 2 байта.
При использовании всех форматов Unicode я не хочу, чтобы один из символов в моей строке внезапно попадал в 3 байта или что-то в этом роде.
Изменить: Нашел это: "Я действительно сказал UnicodeString, а не WideString. WideString все еще существует и не изменяется. WideString выделяется диспетчером памяти Windows и должен использоваться для взаимодействия с объектами COM WideString сопоставляет непосредственно с BSTR-типом в COM." на http://www.micro-isv.asia/2008/08/get-ready-for-delphi-2009-and-unicode/
Теперь я еще более смущен. Итак, Delphi 2010 WideString
отличается от Delphi 2005 WideString
? Должен ли я использовать UnicodeString
вместо этого?
Изменить 2: Нет типа UnicodeString
в Delphi 2005. FML.