Имя: Пароль:
1C
 
как правильно менять байты в двоичных данных или в потоке.
0 DES
 
11.02.23
14:25
есть поток в памяти, как найти в нем строку и заменить пару символов?
1 p-soft
 
11.02.23
14:27
вроде есть методы для работы с данными побайтово
ну или в тест его и ковырять
2 DES
 
11.02.23
14:29
(1) в текст нельзя, есть 00(hex).
3 p-soft
 
11.02.23
14:32
ну тогда методами платформы, я как то натыкался, есть точно
4 DES
 
11.02.23
14:49
Да понятно что платформы а не питона, проста там наморочено потоки , буфера, ДД, что куда  и после чего ?
5 DES
 
11.02.23
17:24
вот загнал Поток в БуферДвоичныхДанных

    ПотокИсходный = ...;
    ЧтениеДанных = Новый ЧтениеДанных(ПотокИсходный, КодировкаТекста.ANSI, ПорядокБайтов.BigEndian);
    Буфер = ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных();
поменял байт
а как теперь вернуть все в Поток обратно ?
6 НафНаф
 
11.02.23
17:34
(5) ЗаписьДанных
7 DES
 
11.02.23
18:29
(6) ну да где то Запись
8 H A D G E H O G s
 
11.02.23
18:42
Скорее всего ты поменяешь неправильно или неправильно интепретирцешь. Как задача описана?
9 DES
 
11.02.23
19:19
изменять ДД можно только в БуфереДД
загнал поток в буфер
  Буфер = ЧтениеДанных.ПрочитатьВБуферДвоичныхДанных();
все путем, все меняется все как нужно.
Теперь Задача:
как вернуть буфер в поток?
10 Мимохожий Однако
 
11.02.23
22:15
11 DES
 
11.02.23
22:50
(10) спс
в  файл пишет норм
    ПотокКонечный = ФайловыеПотоки.ОткрытьДляЗаписи(НовыйФайл);     
    ЗаписьДанных = Новый ЗаписьДанных(ПотокКонечный);
    ЗаписьДанных.ЗаписатьБуферДвоичныхДанных(БуферДанных);
    ЗаписьДанных.Закрыть();
    ПотокКонечный.Закрыть();
    
но мне нужно в памяти все сделать.
12 DES
 
11.02.23
23:11
добил, нужно так было

ПотокКонечный = Новый ПотокВПамяти(БуферДанных);
PDF = Новый ДокументPDF;    
PDF.Прочитать(ПотокКонечный);