powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись Stream в String в Base64
7 сообщений из 7, страница 1 из 1
Запись Stream в String в Base64
    #39480686
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, верно ли делаю:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
uses EncdDecd;
...
EncodeString(StreamToString(MemoryStream));

function StreamToString(Stream: TStream): String;
var
  ms: TMemoryStream;
begin
  Result := '';
  ms := TMemoryStream.Create;
  try
    ms.LoadFromStream(Stream);
    SetString(Result, PChar(ms.Memory), ms.Size div SizeOf(Char));
  finally
    ms.Free;
  end;
end;



Или можно как-то проще?
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39480691
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

верно всё. Проще не получится.

...а что ты делаешь?
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39480702
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще TStringStream. Иногда удобно, когда на входе строка и когда нужно результат по строкам разобрать.
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39480722
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,
Задача выгрузить файл из базы, хранящийся в Blob поле и закодировать в формате Base64 для передачи через Json-параметр.
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39480744
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnetИли можно как-то проще?
Можно, по крайней мере, не делать копию стрима. Ну а если используешь EncdDecd то можно сразу использовать EncodeStream(), куда вторым параметром передать результирующий TStringStream.
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39480750
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,
спасибо, возьму за основу.
...
Рейтинг: 0 / 0
Запись Stream в String в Base64
    #39481192
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы делал так
Код: pascal
1.
2.
3.
4.
5.
6.
function StreamToString(Stream: TStream): string;
begin
  SetLength(Result, Stream.Size div SizeOf(Char));
  Stream.Position := 0;
  Stream.ReadBuffer(Result[1], Stream.Size);
end;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись Stream в String в Base64
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]