|
Копирование части файла | ☑ | ||
---|---|---|---|---|
0
gvsgvs
02.04.12
✎
10:41
|
Добрый день. может кто с сталкивался с такой проблемой есть XML файл я его разбираю и часть файла записываю в текстовый файл, файл получается 1783 байта, при создании текстового файла в ручную файл создается размером 1780 байта хотя вроде оба файла идентичны, проверяю при помощи сравнения файла в 1С он мне тоже говорит что файлы единичны. В чем трабла не понимаю. я бы конечно на расхождения фалов забил но вытаскиваю из ХМЛ файла я не абы какой текст, а сертификат и когда его вытаскиваешь его в ручную винды соглашаются его зарегистрировать, а при программном выдергивании говорит что данный файл не может быть сертификатом.
|
|||
1
gvsgvs
02.04.12
✎
11:09
|
ап
|
|||
2
pumbaEO
02.04.12
✎
11:10
|
vbindiff что говорит по файлам?
|
|||
3
КМ155
02.04.12
✎
11:10
|
(0) а что говорит fc/b ?
|
|||
4
gvsgvs
02.04.12
✎
11:23
|
а это что такое vbindiff и где ее взять
|
|||
5
pumbaEO
02.04.12
✎
11:25
|
Дать ссылку "Давай я за тебя поищу в гугле" ?
|
|||
6
gvsgvs
02.04.12
✎
11:33
|
сравнил фаром первые три байта в отдно фале лишнии , откуда они взялись и как с ними что то я не догоняю
|
|||
7
pumbaEO
02.04.12
✎
11:38
|
UTF-8 BOM
|
|||
8
gvsgvs
02.04.12
✎
11:40
|
я с разной кодировкой пробывал , результат всегда один и тотже
|
|||
9
pumbaEO
02.04.12
✎
11:50
|
как программно записываешь?
|
|||
10
gvsgvs
02.04.12
✎
11:51
|
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать("c:\кол\1C.xml"); Текст1 = Новый ТекстовыйДокумент; Текст1.Записать("c:\кол\951.cer"); НачалоЗаписи = Неопределено; Для НомерСтроки = 1 По Текст.КоличествоСтрок() Цикл Стр = Текст.ПолучитьСтроку(НомерСтроки); Если Стр = "<ФСС>" Тогда НачалоЗаписи = Истина; КонецЕсли; Если Стр = "</Сертификат>" И НЕ НачалоЗаписи = Неопределено ИЛИ Стр = "" Тогда Прервать; КонецЕсли; Если НЕ Стр = "<Сертификат>" И НЕ Стр = "<ФСС>" И НЕ НачалоЗаписи = Неопределено Тогда Стр1 = Стр; Текст1.ДобавитьСтроку(Стр1); КонецЕсли; КонецЦикла; Текст1.УстановитьТипФайла(КодировкаТекста.UTF8); Текст1.Записать("c:\кол\951.cer"); |
|||
11
pumbaEO
02.04.12
✎
11:53
|
Я конечно с сертификатами не часто работал, но там разве не base64 ? Или это сертификат аля pgp ?
|
|||
12
gvsgvs
02.04.12
✎
11:57
|
да там base64
|
|||
13
gvsgvs
02.04.12
✎
11:58
|
но когда я руками копирую я же не в base64 но все работает
|
|||
14
pumbaEO
02.04.12
✎
12:01
|
Если надо записать base64 в текстовый файл, тогда хоть в OEM, хоть в cp1251 должно записать без всяких bom.
|
|||
15
H A D G E H O G s
02.04.12
✎
12:05
|
(14) utf с вами будет не согласен.
|
|||
16
gvsgvs
02.04.12
✎
12:06
|
я пробовал во всех доступных кодировках ОЕМ, ANSI, Системная, UTF16, UTF8 результта один и тоже а именно 3 байт откуда то в начале файла
|
|||
17
H A D G E H O G s
02.04.12
✎
12:06
|
||||
18
gvsgvs
02.04.12
✎
12:06
|
а когда рукми все делаешь этих трех байтов в начле файла нет
|
|||
19
pumbaEO
02.04.12
✎
12:09
|
Текст1 = Новый ТекстовыйДокумент;
Текст1.УстановитьТекст(Стр1); Текст1.Записать("путь", "cp866"); |
|||
20
gvsgvs
02.04.12
✎
13:13
|
спасибо все получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |