Модератор: Модераторы
SizeInBytes:=Length(s)*SizeOf(s[1]);
zub писал(а):думаю должен прокатить такой вариант
s:='';
writeln(sizeof(s[1]));
qivi писал(а):В новом фпц при использовании директивы {$codepage UTF8} и строк типа UnicodeString он возвращает в символах.
Для Length вообще пофиг в какой кодировке строка, он смотрит только на тип параметра и для UnicodeString надо результат просто умножать на 2, так как двух байтовые символы.
qivi писал(а):УТФ16 с постоянной длиной кода символа
qivi писал(а): отсюдова и удивляет что при директиве {$codepage UTF8} строка должна содержать утф16... или эта деректива не влияет на строку и предопределяет кодировку неявного перекодирования?
Вроде как {$codepage UTF8} указывает компилятору на то, в какой кодировке находится исходник, то есть в какой кодировке компилятор получает строковые константы из исходника, и на работу готовой программы не влияет.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 250