Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись Stream в String в Base64 / 7 сообщений из 7, страница 1 из 1
30.06.2017, 20:44:03
    #39480686
wsnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
Подскажите, верно ли делаю:

Код: 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
30.06.2017, 20:52:09
    #39480691
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
wsnet,

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

...а что ты делаешь?
...
Рейтинг: 0 / 0
30.06.2017, 21:04:24
    #39480702
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
Есть еще TStringStream. Иногда удобно, когда на входе строка и когда нужно результат по строкам разобрать.
...
Рейтинг: 0 / 0
30.06.2017, 21:54:52
    #39480722
wsnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
чччД,
Задача выгрузить файл из базы, хранящийся в Blob поле и закодировать в формате Base64 для передачи через Json-параметр.
...
Рейтинг: 0 / 0
30.06.2017, 22:23:22
    #39480744
Kazantsev Alexey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
wsnetИли можно как-то проще?
Можно, по крайней мере, не делать копию стрима. Ну а если используешь EncdDecd то можно сразу использовать EncodeStream(), куда вторым параметром передать результирующий TStringStream.
...
Рейтинг: 0 / 0
30.06.2017, 22:46:05
    #39480750
wsnet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
Kazantsev Alexey,
спасибо, возьму за основу.
...
Рейтинг: 0 / 0
02.07.2017, 15:38:41
    #39481192
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись Stream в String в Base64
Я бы делал так
Код: 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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись Stream в String в Base64 / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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