Строку перевести в строку печатаемых символов

Вопросы программирования и использования среды Lazarus.

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

Ответить
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Строку перевести в строку печатаемых символов

Сообщение resident »

Здрасть :)

Шифрую строки и хочу записать их в файл. Но строки получаются со всякими непечатаемыми символами (например, перевод строки). Записываются они на диск иногда нормально, но читаться такой файл ни в какую не хочет.
Может как-то можно до записи преобразовать каждую строку в другую строку, состоящую из обычных символов, например, чисел и какого-нить условного знака?
Или всё совсем не так надо делать?

Изображение
Аватара пользователя
Максим
энтузиаст
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение Максим »

Функция BinToHex и родственные ей.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

Base64
resident
энтузиаст
Сообщения: 605
Зарегистрирован: 13.03.2013 16:58:51

Сообщение resident »

Спасиб за ответы :)

dunin писал(а):Base64

Супер, даже не представлял как все просто.

Код: Выделить всё

Uses Base64;
var s : AnsiString;
Begin
s:=EncodeStringBase64('Hello world!');
Writeln('Encoded : ',s);
s:=DecodeStringBase64(s);
Writeln('Decoded again : ',s);
end.
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Это хороший путь наступить на грабли. Если в результате кодирования получится символ "перевод строки", то вся хатка завалится.
Читайте и пришите файл не как строковый, а через потоки. Почитайте TStream.
Ответить