|
как правильно менять байты в двоичных данных или в потоке.
| ☑ |
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.Прочитать(ПотокКонечный);
|
|