16 битные строки

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

16 битные строки

Сообщение Сквозняк » 13.05.2022 04:01:12

В третьей версии компилятора добавился новый тип строк
Код: Выделить всё
type
  RawByteString = type AnsiString(CP_NONE);

А для widestring такое есть? Чтобы спокойно писать в строки 16 битные числа и знать что их никто не испортит.
Строки с типом элементов longint, для задания значений массива не только в секции var, тоже пригодились бы, но кто же их такие в паскале разрешит.
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32

Re: 16 битные строки

Сообщение SSerge » 13.05.2022 05:40:33

imho, не надо делать код, основанный на недекларированном внутреннем устройстве компилятора или библиотек.
Аукнется обязательно.

widestring по логике - разновидность string с кодовой страницей 65001 (UTF16), во всяком случае именно это получается из информации в описаниях. Именно из-за этого преобразование из одной кодировки в другую прямо таки обязательно прилетит в процессе.

з.ы. Мне в свое время стоил большого количества времени участок повторно используемого раннего кода, построенный на совмещении в памяти двух разных структур - из-за выравнивания и разной внутренней реализации real. С тех пор "программистских финтов" стараюсь не делать, ибо со временем: задумка будет обязательно забыта, и проблемы возникнут - причем неожиданно.

Добавлено спустя 7 минут 23 секунды:
WideChar - Constant length: 2 or 4 bytes, representation: 1 character.


об этом не забываем. Если сгенерите "из целых" пару, в которой получится префикс для "4 bytes" символа, получите непредсказуемое.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: 16 битные строки

Сообщение Сквозняк » 13.05.2022 12:03:23

Отрицательные числа в строчку туда тоже не запихиваются :|
Сквозняк
энтузиаст
 
Сообщения: 1109
Зарегистрирован: 29.06.2006 22:08:32


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

Рейтинг@Mail.ru