|
строка base64 после записи в файл
| ☑ |
0
Rassvetniy
23.06.17
✎
00:20
|
Приветствую.
Подскажите чего не восстанавливает двоичные данные после того как строка base64 была записана в файл?
вот пример записывал и в эксель и в обычный текстовой
ДД = новый двоичныеДанные("C:\katalog\temp.png");
текст64 = Base64Строка(ДД);
сообщить(стрДлина(текст64));
Эксел = новый COMОбъект("Excel.Application");
Эксел.workbooks.open("C:\katalog\katalog.xlsx");
//Эксел.Visible = истина;
тмп = Эксел.workbooks(1).sheets(1).cells(1,4).value;
тДок = новый ТекстовыйДокумент;
тДок.прочитать("C:\katalog\b64.txt");
тСтр= "";
количествоСтрок = ТДок.КоличествоСтрок();
Для сч = 1 по количествоСтрок цикл
тСтр = тСтр + тДок.получитьСтроку(сч);
конецЦикла;
сообщить(стрДлина(тСтр));
сообщить(стрДлина(тмп));
если сокрЛП(текст64) <> сокрЛП(тСтр) тогда
сообщить("не равно");
иначе
сообщить ("равно");
конецЕсли;
длинна строк различная исходная 236902 из текстового файла читает 229724 из эксл вообще всего 32767
|
|
1
Rassvetniy
23.06.17
✎
00:26
|
в текстовой документ пишу таким образом:
текстДок = новый ТекстовыйДокумент;
текстДок.ДобавитьСтроку(картинка64);
текстДок.записать("C:\katalog\b64.txt");
|
|
2
H A D G E H O G s
23.06.17
✎
00:33
|
Убирай переносы строк.
|
|
3
H A D G E H O G s
23.06.17
✎
00:33
|
Передавай пириветы разработчикам за такие сюрпризы.
|
|
4
H A D G E H O G s
23.06.17
✎
00:35
|
|
|
5
Rassvetniy
23.06.17
✎
01:21
|
так кажется я чего то был не досмотрел... хоть длинна строк и разная но из строки в текстовом файле картинку восстанавливает все восстанавливает
кстати попробовал конструкцию:
тмпСтр = стрЗаменить(картинка64, символы.ВК, "");
тмпСтр1 = стрЗаменить(тмпСтр, символы.ПС, "");
длинна строки такой же осталась т.е. ничего и не удаляет
длинна строки если писать в эксель гораздо меньше, подозреваю что есть ограничение на объем данных которые можно в ячейку записать
|
|
6
Rassvetniy
23.06.17
✎
01:27
|
именно так и есть ) кол-во знаков в ячейке 32 767
|
|