Имя: Пароль:
1C
1С v8
декодировать base64 в двоичные данные?
,
0 0level
 
21.01.14
16:39
Не пинайте ))

как декодировать base64 в двоичные данные?

Base64Значение(Объект.Реквизит1)   выдает шестнадцатиричные данные
1 МихаилМ
 
21.01.14
16:52
не верите документации

Возвращаемое значение:

Тип: ДвоичныеДанные.
2 0level
 
21.01.14
16:54
))) значение с буквами, двоичные такими не бывают
3 МихаилМ
 
21.01.14
16:54
путаете данные и их представление
4 Бледно Золотистый
 
21.01.14
16:54
(2) 1 и 0 нужны? Нафига?
5 SUA
 
21.01.14
16:55
(2)почему?
6 acsent
 
21.01.14
16:55
ТипЗнч(Base64Значение(Объект.Реквизит1) ) ???
7 0level
 
21.01.14
16:58
так как потом их нужно часть в 10-чные числа, а часть в строку. вот подскажите как? )))
8 Maxus43
 
21.01.14
17:00
ты помоему плохо понимаешь что есть двоичная, 10-чная и 16-ричная системы исчисления
9 Maxus43
 
21.01.14
17:00
и собственно что такое двоичные данные
10 Infsams654
 
21.01.14
17:01
(2) ты не поверишь, все что ты сейчас видишь перед собой, это набор из 1 и 0
11 0level
 
21.01.14
17:02
я вижу
A400F0AD5307EA32313200000000003C2B54C1FA8C4C0C400000000C8D0C4D0000000000000000000000000000002ADB42104C0C8B8C000010000000000181FF70DA4C6A6041D9C60000000000000000000000000000000186A029870D4018000000
12 Бледно Золотистый
 
21.01.14
17:04
(11) И тебе легче будет видеть 1010010000000000111100001010110101010011000001111110101000110010 ???
13 Maxus43
 
21.01.14
17:04
(11) и что?
ДД = Base64Значение(Объект.Реквизит1);
ДД.Записать("C:\Темп\тест.txt");
14 0level
 
21.01.14
17:05
да так как передо мной инструкция в которой указано количество двоичных символов для расшифровки. например 1 номер 50 символов перевести в десятичное число. 2 название 56 символов перевести в строку
15 acsent
 
21.01.14
17:06
(14) спец олимпиада что ли?
16 H A D G E H O G s
 
21.01.14
17:07
Продолжайте.
Я заинтригован.
17 0level
 
21.01.14
17:10
acsent
ага со смартфона пишу ))))
18 0level
 
21.01.14
17:14
и как же преобразовать в 1 и ноли?
19 Бледно Золотистый
 
21.01.14
17:18
20 МихаилМ
 
21.01.14
17:18
(18)
не можете сопоставить

16 символам их двоичное представление  ?
21 zladenuw
 
21.01.14
17:19
(19) зачем так сложно.

http://speshuric.livejournal.com/150666.html
22 0level
 
21.01.14
17:20
встроенные функции какие в 1с есть для работы с двоичными данными. нужно отсчитывать биты. допустим первые 10 преобразовать в число, потом 20 в строку.
23 H A D G E H O G s
 
21.01.14
17:21
(22) 10 бит в число очень трудно преобразовывается.
24 МихаилМ
 
21.01.14
17:25
(22)
преобразование в различные системы счисления -
школьная задача.

Вам на форум школьников.
25 Serginio1
 
21.01.14
17:26
v8: SHA256 для 8.3.3
(23) Почему? Во многих случаях для экономии используют некое количество битов. Например для архивирования.
26 H A D G E H O G s
 
21.01.14
17:27
(25) Для архивирование используют шаблоны и ссылки.
Ну или RLE.
27 Serginio1
 
21.01.14
17:34
28 Serginio1
 
21.01.14
17:39
29 sda553
 
21.01.14
17:43
(0) И это прекрасно. А вопрос в чем?
30 H A D G E H O G s
 
21.01.14
17:44
(27) (28) И все это - RLE + (либо) замена ссылками на позицию в словаре.
31 sda553
 
21.01.14
17:47
(22) Двоичные данные можно только записать в файл в 1с.

А вот чтобы прочитать определенные байты с определенным смещениемю опытные 1сники (по крайней мере я) наборот преобразовывают это в Base64  и работают как со строкой, делая с этими данными все, что ты хочешь.
32 0level
 
21.01.14
17:50
sda553
тоесть base64 надо разбить на куски, декодировать куски? так?
33 sda553
 
21.01.14
17:57
да, каждый символ в base64 это 6 бит. Вот и режь эти символы как хошь
34 0level
 
21.01.14
17:58
а если куски не дробны 6 битам?
35 Lama12
 
21.01.14
18:01
Даже интересно. Вроде не пятница.
Автор (0) ты студент или школьник?
36 H A D G E H O G s
 
21.01.14
18:01
(33) Отрежь мне 10 бит, пожалуйста.
37 Serginio1
 
21.01.14
18:05
(34) Бери HexBinary из (25) там 2 символа это 1 байт.
(36) Легко достигает через битовое AND и маски с первыми 11 единицами остальные 0 можно использовать Word (2 байта).
Остальные получаем смещение влево на 11 битов
38 Serginio1
 
21.01.14
18:06
(30) Тогда ты должен знать как хранятся данные в скользящем окне
39 sda553
 
21.01.14
18:06
то дополняй их.
Например тебе надо прочитать с 40-й позиции 5 байт
40*8/6=53 символа (2бита в остатке), нам нужен первый 53-й символ (нумеруем символы с нуля)

45*8/6=60 символов

т.е. нам нужно прочитать с 53 по 59-ый символ, преобразовать их в двоичную строку и отрезать два младших бита
40 Адимр
 
21.01.14
19:37
А есть такой тип переменной "Bit" не в 1с, а в других ЯП, jave итп?
41 0level
 
21.01.14
19:38
sda553

и как же мне отрезать "два младших бита"
42 sda553
 
21.01.14
19:38
(40) bool не подходит?
43 etc
 
21.01.14
19:51
ниче не понял.
... 1 номер 50 символов перевести в десятичное число. 2 название 56 символов перевести в строку ...
50 каких символов? однобайтовых? двухбайтовых? в двоично-десятичном виде?
44 0level
 
21.01.14
20:07
есть строка в base64, ее нужно декодировать в "единицы и ноли" (двоичный код). Потом по схеме отсчитывать биты и переводить в десятеричную систему числа, и слова. Например(из головы) с 1 - 15 бит закодировано число (ОГРН), с 16-50 бит  название компании.
45 0level
 
21.01.14
20:08
я в 1с получил функцией base64 вот такую строку
A400F0AD5307EA32313200000000003C2B54C1FA8C4C0C400000000C8D0C4D0000000000000000000000000000002ADB42104C0C8B8C000010000000000181FF70DA4C6A6041D9C60000000000000000000000000000000186A029870D4018000000

что дальше, пока не совсем ясно. спасибо что помогаете, народ!!
46 sda553
 
21.01.14
20:31
(43) (44) Извиняйте, ощущение, будто я ученикам третьего класса пытаюсь теорему пифагора объяснить.
- а что такое прямой угол?
- а что такой "квадрат"?
47 sda553
 
21.01.14
20:33
(45) это не Base64.
Base64 выглядит как то так
fScv5g6Zxtt7g3SEC5
48 zulu_mix
 
21.01.14
20:39
ггг... тс решил что двоичные данные это 10010110
и решил по быстрому в 2 строки навалять конвертер из 16-ричного кода в двоичный
49 0level
 
21.01.14
20:59
тяжко.
одни говорят что у функции
Base64Значение(<Строка>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Строка, закодированная по алгоритму base64.
Возвращаемое значение:

Тип: ДвоичныеДанные!!!!!!!!!!!!!!!!!!!

вы говорите что это 16-ричный.
то что я написал выше результат Этот функции Base64Значение(<Строка>).

так что она выдает 16-ричн код или двоичный?

Я правильно понял что надо писать функцию конвертер из 16 в двоичный и такой функции нет в 1с?

Кого раздражают мои глупые вопросы, можете не отвечать? никого же не заставляем. Всем остальным спасибо за терпение ))))
50 zulu_mix
 
21.01.14
21:03
(49) открой блокнотом файл экселя. что ты увидишь? набор невнятных символов. это и есть двоичные данные. а уж в каком виде они будут тебе представлены - дело просмотрщика. он тебе и в двоичном и в шестнадцатеричном, и в ассемблере показать может.
51 0level
 
21.01.14
21:05
как увидеть эту строку в двоичном в 1с
52 zulu_mix
 
21.01.14
21:14
(51) написать свою функцию преобразования в двоичный код. алгоритмы кажется уже кидали
53 Гобсек
 
22.01.14
01:07
http://infostart.ru/public/252365/
В этой статье листинг процедуры, которая преобразовывает строку в кодировке Bes64 в массив байтов и обратно.

Только что написал :-)
54 Гобсек
 
22.01.14
01:08
(53)Bes64 -> Base64
55 Serginio1
 
22.01.14
10:22
(49) Ты 25 читал? Ты из Двичных данных можешь получить шестнадцатиричное представление  и работай с ним

ТипhexBinary    = ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema";;, "hexBinary");
    ДвоичныеДанные      = ФабрикаXDTO.Создать(ТипhexBinary,Хэш.ХешСумма);
      Сообщить(ДвоичныеДанные.ЛексическоеЗначение);

Я уже не говорю о том, что с двичными данными проще работать на других языках.
56 0level
 
22.01.14
10:26
Serginio1
сообщает вот эту строку A400F0AD5307EA32313200000000003C2B54C1FA8C4C0C400000000C8D0C4D0000000000000000000000000000002ADB42104C0C8B8C000010000000000181FF70DA4C6A6041D9C60000000000000000000000000000000186A029870D4018000000



Как мне отсчитать первые 50 бит перевести их в десятичные, потом следующие 56 бит перевести в 7 символов?
57 Гобсек
 
22.01.14
10:43
(56)В статье по ссылке из (53) готовая рабочая процедура чуть более 100 строк.
58 0level
 
22.01.14
10:47
Гобсек

спасибо. знаний маловато ее поправить, конфигуратор выдает ошибки
59 Гобсек
 
22.01.14
10:58
(58)Какая версия платформы? У меня 8.2.19.80
Какие ошибки?
60 0level
 
22.01.14
11:10
{Форма.Форма.Форма(278,4)}: Ожидается ключевое слово 'КонецЦикла' ('EndDo')
   <<?>>КонецЕсли; (Проверка: Сервер)
{Форма.Форма.Форма(282,15)}: Ожидается ключевое слово 'Тогда' ('Then')
   Если Индекс<<?>>     Массив64[Индекс] = Ост; (Проверка: Сервер)
{Форма.Форма.Форма(283,4)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
   <<?>>КонецЕсли; (Проверка: Сервер)
{Форма.Форма.Форма(286,32)}: Обнаружено логическое завершение исходного текста модуля
   Массив64[(А-1)*3 + 0] = Ост;<<?>> (Проверка: Сервер)
{Форма.Форма.Форма(277,15)}: Ожидается ключевое слово 'Тогда' ('Then')
   Если Индекс<<?>>     Массив64[Индекс] = Ост; (Проверка: Тонкий клиент)
{Форма.Форма.Форма(278,4)}: Ожидается ключевое слово 'КонецЦикла' ('EndDo')
   <<?>>КонецЕсли; (Проверка: Тонкий клиент)
{Форма.Форма.Форма(282,15)}: Ожидается ключевое слово 'Тогда' ('Then')
   Если Индекс<<?>>     Массив64[Индекс] = Ост; (Проверка: Тонкий клиент)
{Форма.Форма.Форма(283,4)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
   <<?>>КонецЕсли; (Проверка: Тонкий клиент)
{Форма.Форма.Форма(286,32)}: Обнаружено логическое завершение исходного текста модуля
   Массив64[(А-1)*3 + 0] = Ост;<<?>> (Проверка: Тонкий клиент)



8,2,19,83
61 Гобсек
 
22.01.14
11:50
(60)Видимо, копирование-вставка прошли некорректно.
Попробуй скопировать отсюда:

&НаСервере
Функция Преобразовать64(Строка64 = неопределено, Массив64 = неопределено)
    Таб64 = Новый ТаблицаЗначений;
    Таб64.Колонки.Добавить("Код");
    Таб64.Колонки.Добавить("Символ");
    Нпп = 0;
    Для Код = КодСимвола("A") По КодСимвола("Z") Цикл
        стр = Таб64.Добавить();
        стр.Код = Нпп;
        стр.Символ = Символ(Код);
        Нпп = Нпп + 1;
    КонецЦикла;
    Для Код = КодСимвола("a") По КодСимвола("z") Цикл
        стр = Таб64.Добавить();
        стр.Код = Нпп;
        стр.Символ = Символ(Код);
        Нпп = Нпп + 1;
    КонецЦикла;
    стр = Таб64.Добавить();
    стр.Код = Нпп;
    стр.Символ = "0";
    Нпп = Нпп + 1;
    Для Код = 1 По 9 Цикл
        стр = Таб64.Добавить();
        стр.Код = Нпп;
        стр.Символ = Формат(Код,"ЧЦ=1; ЧДЦ=0");
        Нпп = Нпп + 1;
    КонецЦикла;
    стр = Таб64.Добавить();
    стр.Код = Нпп;
    стр.Символ = "+";
    Нпп = Нпп + 1;
    стр = Таб64.Добавить();
    стр.Код = Нпп;
    стр.Символ = "/";
    
    Если Массив64 = неопределено Тогда
        Если Строка64 = неопределено Тогда
            Сообщить("неверный вызов функции");
            Возврат неопределено;
        КонецЕсли;
        //Уберем переносы строк
        Строка64 = СтрЗаменить(Строка64, Символ(10), "");
        Строка64 = СтрЗаменить(Строка64, Символ(13), "");
        
        //преобразовываем строку в массив
        Если СтрДлина(Строка64) % 4 <> 0 Тогда
            Сообщить("длина строки на входе должна быть кратна 4");
            Сообщить(СтрДлина(Строка64));
            Возврат неопределено;
        КонецЕсли;
        Кол4 = Цел(СтрДлина(Строка64) / 4);
        РазмерМ = Кол4 * 3;
        Если Прав(Строка64, 2) = "==" Тогда
            РазмерМ = РазмерМ - 2;
        ИначеЕсли Прав(Строка64, 1) = "=" Тогда
            РазмерМ = РазмерМ - 1;
        КонецЕсли;            
        Массив64 = Новый Массив(РазмерМ);
        Для А = 1 По Кол4 Цикл
            Число3 = 0;
            Для Б = 1 По 4 Цикл
                Буква1 = Сред(Строка64, (А-1)*4 + Б, 1);    
                Если Буква1 = "=" Тогда
                    Код4 = 0;
                Иначе
                    стрН = Таб64.Найти(Буква1, "Символ");
                    Если стрН = Неопределено Тогда
                        Сообщить("ошибка при поиске "+ КодСимвола(Буква1));    
                    Иначе
                        Код4 = стрН.Код;
                    КонецЕсли;
                КонецЕсли;
                Число3 = Число3 * 64 + Код4;
            КонецЦикла;
            Ост = Число3 % 256;
            Индекс = (А-1)*3 + 2;
            Если Индекс <= РазмерМ - 1 Тогда
                Массив64[Индекс] = Ост;
            КонецЕсли;
            Число3 = (Число3 - Ост) / 256;
            Ост = Число3 % 256;
            Индекс = (А-1)*3 + 1;
            Если Индекс <= РазмерМ - 1 Тогда
                Массив64[Индекс] = Ост;
            КонецЕсли;
            Число3 = (Число3 - Ост) / 256;
            Ост = Число3 % 256;
            Массив64[(А-1)*3 + 0] = Ост;
        КонецЦикла;
        Возврат Массив64;
    Иначе //Преобразовываем массив в строку
        Строка64 = "";
        Кол3 = Цел(Массив64.Количество() / 3);
        Если Массив64.Количество() % 3 <> 0 Тогда
            Кол3 = Кол3 + 1;
        КонецЕсли;
        Для А = 1 По Кол3 Цикл
            Число3 = Массив64[(А-1)*3];    
            Если (А-1)*3+1 <= Массив64.ВГраница() Тогда
                Код3 = Массив64[(А-1)*3+1];
            Иначе
                Код3 = 0;
            КонецЕсли;
            Число3 = Число3*256 + Код3;
            Если (А-1)*3+2 <= Массив64.ВГраница() Тогда
                Код3 = Массив64[(А-1)*3+2];
            Иначе
                Код3 = 0;
            КонецЕсли;
            Число3 = Число3*256 + Код3;
            
            Ост4 = Число3 % 64;
            Число3 = (Число3 - Ост4) / 64;
            Ост3 = Число3 % 64;
            Число3 = (Число3 - Ост3) / 64;
            Ост2 = Число3 % 64;
            Число3 = (Число3 - Ост2) / 64;
            Ост1 = Число3 % 64;
            Число3 = (Число3 - Ост1) / 64;
            стрН = Таб64.Найти(Ост1, "Код");
            Если стрН = неопределено Тогда
                Сообщить("Ошибка при поиске");
            Иначе
                Строка64 = Строка64 + стрН.Символ;
            КонецЕсли;
            стрН = Таб64.Найти(Ост2, "Код");
            Если стрН = неопределено Тогда
                Сообщить("Ошибка при поиске");
            Иначе
                Строка64 = Строка64 + стрН.Символ;
            КонецЕсли;
            стрН = Таб64.Найти(Ост3, "Код");
            Если стрН = неопределено Тогда
                Сообщить("Ошибка при поиске");
            Иначе
                Строка64 = Строка64 + стрН.Символ;
            КонецЕсли;
            стрН = Таб64.Найти(Ост4, "Код");
            Если стрН = неопределено Тогда
                Сообщить("Ошибка при поиске");
            Иначе
                Строка64 = Строка64 + стрН.Символ;
            КонецЕсли;
        КонецЦикла;
        //Если количество символов не делится на 3, то на конце должны быть
        //знаки "="
        Если Массив64.Количество() % 3 = 1 Тогда
            Строка64 = Лев(Строка64, СтрДлина(Строка64)-2)+ "==";    
        ИначеЕсли Массив64.Количество() % 3 = 2 Тогда
            Строка64 = Лев(Строка64, СтрДлина(Строка64)-1)+ "=";    
        КонецЕсли;
        Возврат Строка64;
    КонецЕсли;
КонецФункции
62 0level
 
22.01.14
11:57
Спасибо Огромное. выводится сообщение, длина строки должна быть кратна 4. что это за проверка и для чего?
63 Гобсек
 
22.01.14
12:12
(62)Длина строки в кодировке Base64 должна быть кратна четырем. Это происходит потому, что каждая тройка байтов по 8 битов преобразуется в четверку групп по 6 битов. Если байтов не 3, а 2 или 1, то на конце добавляются знаки "=". И все равно получается четверка. В моей процедуре есть две строчки, которые удаляют переносы строки.

        Строка64 = СтрЗаменить(Строка64, Символ(10), "");
        Строка64 = СтрЗаменить(Строка64, Символ(13), "");

Эти переносы 1С добавляет, для того, чтобы строку было удобнее рассмотреть в отладчике. После удаления этих символов длина строки должна быть кратна 4.
64 H A D G E H O G s
 
22.01.14
12:15
"Эти переносы 1С добавляет, для того, чтобы строку было удобнее рассмотреть в отладчике."

Пффф. Святая простота.
v8: Base64Строка(). Боль. Страдание. Унижение.
65 0level
 
22.01.14
12:20
еще раз для тупого, строка64 - это строка в base64 или а=Base64Значение(<Строка>) ?

по второму массив возвращает десятичные числа. а нужно бинарный код
66 H A D G E H O G s
 
22.01.14
12:23
(65) Забей.
67 H A D G E H O G s
 
22.01.14
12:23
Ты просто психологически не готов.
У меня такое было в 8 классе на геометрии.
68 Infsams654
 
22.01.14
12:29
(65) чего?. Щелкни по файлу jpg, откроется картинка, "а нужно бинарный код"
69 0level
 
22.01.14
12:33
есть base64   pHBIhg+RgDEyMzQ1NjccEiGD5GAMTAxAAAAADI0MTQAAAAAAAAAAAAAAAAAAACrbQpBMDMuMwAAQAAAAAAHB/3DaTGRqYEHZxgAAAAAAAAAAAAAAAAAAAC7gKYcNgBgAAAA==


из него получаю функцией Base64Значение(<Строка>)

A47048860F9180313233343536371C122183E4600C4C0C400000000C8D0C4D0000000000000000000000000000002ADB42904C0CCB8CC000100000000001C1FF70DA4C646A6041D9C60000000000000000000000000000002EE029870D8018000000


А нужно для начала ))))))))))))))

получить вот эту бинарную строку

10100100011100000100100010000110000011111001000110000000001100010011001000110011001101000011010100110110001101110001110000010010001000011000001111100100011000000000110001001100000011000100000000000000000000000000000000001100100011010000110001001101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010101101101101000010100100000100110000001100110010111000110011000000000000000001000000000000000000000000000000000000000000011100000111111111011100001101101001001100011001000110101001100000010000011101100111000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001011101110000000101001100001110000110110000000000110000000000000000000000000000000



Вопрос, как?

(61) возвращает массив с десятичными числами
70 0level
 
22.01.14
12:37
потом разбить ее на куски, и одни куски перевести в числа, другие в символы )
71 Serginio1
 
22.01.14
12:53
(56) Тяжело в 1С с побитовыми операциями. Но все в твоих руках. Например в Net есть класс BitArray.
72 Гобсек
 
22.01.14
12:53
(69)Обрабатывай массив из десятичных чисел, указанный в (65). Например, можно каждое число перевести в двоичную систему в виде строки и строки склеить.
73 Infsams654
 
22.01.14
12:55
(70) так разбивай, в чем проблемы ?
74 sda553
 
22.01.14
12:55
(72) Это можно легко сделать еще на этапе строки Base64.
Каждый символ это 6 битовый кусок.
75 Infsams654
 
22.01.14
12:57
A470 ... = 1010010001110000...
что не так ?
76 Гобсек
 
22.01.14
13:01
(74)Кстати да. Только придется вбивать таблицу перекодировки. А таблица перекодировки есть по ссылке
wiki:Base64
77 0level
 
22.01.14
13:12
(75) все так тока я это в онлайн декодерах сделал а надо в 1с
78 Гобсек
 
22.01.14
13:19
(77) см (76)
79 Гобсек
 
22.01.14
13:29
(78)В статье из википедии по ссылке такая картинка, что посмотришь на нее и сразу все поймешь.
80 Infsams654
 
22.01.14
14:19
(79) зачем до того? Base64Значение уже отдает двоичные данные
81 sda553
 
22.01.14
14:36
(80) см (31) первое предложение.
82 Infsams654
 
22.01.14
14:44
(81) дак запиши и прочитай в строку - и не надо изголяться с Base64.
В строке все уже будет побайтно в 2-чном коде.
При чем, самое, интересное то, что задача ужа сама по себе проще решается - там сразу видно, число это или буква
83 mrDSide
 
22.01.14
14:44
(2) рукалицо
84 mrDSide
 
22.01.14
14:44
про системы счисления не слышали?
85 sda553
 
22.01.14
14:45
(82) Дай код, как двоичные данные в строку превратить
86 H A D G E H O G s
 
22.01.14
14:46
(85) Я бы на твоем месте задумался - зачем жертве ЕГЭ вообще двоичные данные в виде строки.
87 Infsams654
 
22.01.14
14:59
(85) ЧтениеТекста. Прочитать в строку, КодСимвола каждого прочитанного символа строки - есть двоичные данные этого символа
88 H A D G E H O G s
 
22.01.14
15:01
(87) До ближайшего нулевого байта.
89 Infsams654
 
22.01.14
15:24
(88) тогда
fso=СоздатьОбъект("Scripting.FileSystemObject");
file=fso.OpenTextFile(ИмяФайла, 1, 0, 0);
стр=file.Read
90 0level
 
22.01.14
15:34
H A D G E H O G s

По себе людей не судят )
91 0level
 
22.01.14
16:12
Кузьменко Василий    Функция преобразования(Н)
   О="";    
    Если Н="0" ТОгда
        о="0";
    ИначеЕсли Н="1" Тогда
        о="1"
    Иначе
        ПОка число(н)<>1 Цикл
            Х=Цел(Н/2);
            У=Н-2*Х;
            О=О+Строка(У);
            Н=Х
        конецЦикла;
        
    О=Строка(Х)+О;    
    КонецЕсли;
Возврат О    
КонецФункции
     вот наваял чуток
92 H A D G E H O G s
 
22.01.14
16:13
(91) Молоток!
93 oleg_km
 
22.01.14
16:31
(91) Какие объемы планируешь перемалывать?

Если честно, до сих пор не могу понять: что ТС нужно?
94 etc
 
22.01.14
16:37
(46) а ты вчитайся в мой вопрос ему и поймешь что у него никакой конкретики в задаче нет. Он даже не знает сколько бит на 1 знак отведено в его двоичных данных.
95 etc
 
22.01.14
16:43
> по второму массив возвращает десятичные числа. а нужно бинарный код

убил.(66)+
96 0level
 
22.01.14
16:45
всем спасибо, кажется все сделано.
97 Infsams654
 
23.01.14
08:22
это что было ?