У меня есть собственная библиотека D6 pas с функциями криптографии. Сегодня я пытался использовать его под XE3, и я нашел много ошибок в нем из-за unicode. Я попытался подключиться к AnsiString, но я потерпел неудачу в chr (nnn), который был ограничен 8 бит под Delphi6.Delphi XE3: версия Chr Ansi?
Я пытаюсь объяснить проблему:
Str := chr(hchar);
AStr := Str;
Str - строка; AStr - ansistring.
Когда hchar был 216 (diamater), тогда AStr изменился на «O», что такое Ascii 79 ... И я потерял первоначальное значение в данный момент.
Есть ли какая-либо функция для Ansi Chr? Например: «AChr (xxxx)»
Или мне нужно изменить свой код, чтобы не использовать строки во внутреннем разделе, только байты, а затем преобразовать эти байты в AnsiString?
Спасибо за любое предложение, помощь, информацию!
дд
Шифрование - это байты, а не символы. Сначала убедитесь, что ваш код работает с структурами байтов (массивы байтов) в Delphi 6 (для проверки правильности используйте структуру тестирования, такую как DUnit). Затем переносите свой код на более новые версии Delphi. –