Имя: Пароль:
1C
1С v8
Преобразование данных base64 в строку
,
0 bambazamba
 
14.05.15
15:51
Всем привет.

Есть строка:

SE5IQks6MTozKzAwMDAwMDAwMDI3NisyMjArNDQwMDgxODE4NDQxNDE1MCsxKzQ0MDA4MTgxODQ0MTQxNTA6MSdISVJNRzoyOjIrOTAxMDo6TmFjaHJpY2h0IGlzdCBrb21wbGV0dCBuaWNodCBiZWFyYmVpdGV0IChIQk1TRz0xMDMxOSkrOTExMDo6VW5iZWthbm50ZXIgQXVmYmF1IChIQk1TRz0xMDMxMSkrOTgwMDo6RGlhbG9nIGFiZ2Vicm9jaGVuIChIQk1TRz0xMDMyMSknSElSTVM6MzoyOjIrOTExMDo6VW5iZWthbm50ZXIgQXVmYmF1IChIQk1TRz0xMDAwMCknSE5IQlM6NDoxKzEn

Если раскодировать ее из формата base64, то получится результат:
HNHBK:1:3+000000000276+220+4400818184414150+1+4400818184414150:1'HIRMG:2:2+9010::Nachricht ist komplett nicht bearbeitet (HBMSG=10319)+9110::Unbekannter Aufbau (HBMSG=10311)+9800::Dialog abgebrochen (HBMSG=10321)'HIRMS:3:2:2+9110::Unbekannter Aufbau (HBMSG=10000)'HNHBS:4:1+1'

Как этот результат получить средствами 1С?
1 ДенисЧ
 
14.05.15
15:53
Base64Значение() не предлагать?
2 bambazamba
 
14.05.15
15:54
(1) Возвращает двоичные данные.
48 4E 48 42 4B 3A 31 3A 33 2B 30 30 30 30 30 30 30 30 30 32 37 36 2B 32 32 30 2B 38 38 34 32 31 37 37 35 33 35 34 31 34 31 35 30 2B 31 2B 38 38 34 32 31 37 37 35 33 35 34 31 34 31 35 30 3A 31 27 48 49 52 4D 47 3A 32 3A 32 2B 39 30 31 30 3A 3A 4E 61 63 68 72 69 63 68 74 20 69 73 74 20 6B 6F 6D 70 6C 65 74 74 20 6E 69 63 68 74 20 62 65 61 72 62 65 69 74 65 74 20 28 48 42 4D 53 47 3D 31 30 33 31 39 29 2B 39 31 31 30 3A 3A 55 6E 62 65 6B 61 6E 6E 74 65 72 20 41 75 66 62 61 75 20 28 48 42 4D 53 47 3D 31 30 33 31 31 29 2B 39 38 30 30 3A 3A 44 69 61 6C 6F 67 20 61 62 67 65 62 72 6F 63 68 65 6E 20 28 48 42 4D 53 47 3D 31 30 33 32 31 29 27 48 49 52 4D 53 3A 33 3A 32 3A 32 2B 39 31 31 30 3A 3A 55 6E 62 65 6B 61 6E 6E 74 65 72 20 41 75 66 62 61 75 20 28 48 42 4D 53 47...
3 Джинн
 
14.05.15
15:54
Как обычно - есть методы ДвоичныеДанные, Base64Строка, Base64Значение
4 ДенисЧ
 
14.05.15
15:55
(2) ну запиши в файл и посмотри на него глазами
5 bambazamba
 
14.05.15
15:57
(4) Спасибо
6 bambazamba
 
14.05.15
16:13
Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
    Стр = Текст.ПрочитатьСтроку();

    Пока Стр <> Неопределено Цикл
        Стр = Текст.ПрочитатьСтроку();
        Сообщить(Стр);
    КонецЦикла;    

Возвращает все тот же
SE5IQks6MTozKzAwMDAwMDAwMDI3Nis...

Вопрос - как прочитать этот файл, что бы получился текст, который я вижу при открытии этого файла блокнотом?
7 ДенисЧ
 
14.05.15
16:14
А почему ты его как утф читаешь?
8 bambazamba
 
14.05.15
16:28
Не, я чего-то вообще запутался. Не то у меня сохраняется

Помогите, пожалуйста, по порядку

HTTPОтвет = СоединениеССервером.ВызватьHTTPМетод("POST", HTTPЗапрос);
ОтветСервера = HTTPОтвет.ПолучитьТелоКакСтроку();
// Ответ сервера - строка в base64.
// что мне с ней делать?
9 ДенисЧ
 
14.05.15
16:29
Тебе тоже стенку с ядом прописать?
КодировкаТекста.UTF8 замени на КодировкаТекста.OEM
10 bambazamba
 
14.05.15
16:33
(9) Спокойно. У меня в файле, оказывается, который я неправильно через "записьтекста()" записал, те же самые данные в base64.
Может я его не так записал?
11 ДенисЧ
 
14.05.15
16:35
Вот я взял твою строку из (0)
стр = ".....";
дд = Base64Значение(стр);
дд.Записать("c:\file.txt");

Потом иду в фар, нажимаю F3 и твой текст.
12 bambazamba
 
14.05.15
16:41
(11) Ага, получилось записать.
Сейчас попробую прочитать
13 bambazamba
 
14.05.15
16:47
Все получилось, спасибо. Я перед этим просто залез в дебри.

    HTTPОтвет = СоединениеССервером.ВызватьHTTPМетод("POST", HTTPЗапрос);
    ОтветСервера = HTTPОтвет.ПолучитьТелоКакСтроку();
    ЗначениеBase64 = Base64Значение(ОтветСервера);
    ИмяФайла = ПолучитьИмяВременногоФайла("txt");
    ЗначениеBase64.Записать(ИмяФайла);
    
    Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.OEM);
    Стр = Текст.Прочитать();

    ОтветСервераРаскодированный = Стр;
14 Torquader
 
14.05.15
23:55
А слабо руками раскодировать ?
Там же всего лишь строка, из которой кушается по 4 символа, чтобы получить три.
15 Garykom
 
гуру
15.05.15
00:03
(14) как бы интернета-интернета дай готова кода и все...
16 Torquader
 
15.05.15
00:10
(15) Так готова кода очень часто г..внокода.
17 sda553
 
15.05.15
09:04
(13) Удаление файла в конце процедуры не зубудь. Замусоришь весь темповник