Форум программистов, компьютерный форум CyberForum.ru

Каким образом открыть двоичный код, файла любого формата? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 15:52     Каким образом открыть двоичный код, файла любого формата? #1
Каким образом открыть двоичный код, файла любого формата?
Гугл читал, толком ничего не нашел, может кто что-то посоветует?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 15:58     Каким образом открыть двоичный код, файла любого формата? #2
Цитата Сообщение от Outmee Посмотреть сообщение
Каким образом открыть двоичный код, файла любого формата?
Открыть в чём? Для чего?
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 16:03  [ТС]     Каким образом открыть двоичный код, файла любого формата? #3
alsav22, открываем записываем в переменную std::string, после используя ф-цию
md5(std::string); выводим на экран ее хэш.
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
08.06.2014, 16:05     Каким образом открыть двоичный код, файла любого формата? #4
http://www.cplusplus.com/reference/i.../istream/read/
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// read a file into memory
#include <iostream>     // std::cout
#include <fstream>      // std::ifstream
 
int main () {
 
  std::ifstream is ("test.txt", std::ifstream::binary);
  if (is) {
    // get length of file:
    is.seekg (0, is.end);
    int length = is.tellg();
    is.seekg (0, is.beg);
 
    char * buffer = new char [length];
 
    std::cout << "Reading " << length << " characters... ";
    // read data as a block:
    is.read (buffer,length);
 
    if (is)
      std::cout << "all characters read successfully.";
    else
      std::cout << "error: only " << is.gcount() << " could be read";
    is.close();
 
    // ...buffer contains the entire file...
 
    delete[] buffer;
  }
  return 0;
}
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 16:29  [ТС]     Каким образом открыть двоичный код, файла любого формата? #5
BRcr, Воот, я прошляпил, спасибо, но пожалуй пару вопросов я еще задам
создал test.txt записал туда кучу символов разных. Компилю код он как будто не видит test.txt.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 16:54     Каким образом открыть двоичный код, файла любого формата? #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <fstream>
#include <iterator>
using namespace std;
 
int main ()
{
    ifstream fin("test.txt", ios::binary);
    if (!fin)
        cout << "Error!" << endl;
    else
    {
        string str((istreambuf_iterator<char>(fin)), istreambuf_iterator<char>());
        cout << str << endl;
    }
 
    system("pause");
    return 0;
}
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 17:42  [ТС]     Каким образом открыть двоичный код, файла любого формата? #7
alsav22, Благодарю, А если дела будут обстоять с бмп(.bmp) или того хуже джипегой(.jpg)
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 17:48     Каким образом открыть двоичный код, файла любого формата? #8
Цитата Сообщение от Outmee Посмотреть сообщение
А если дела будут обстоять с бмп(.bmp) или того хуже джипегой(.jpg)
А разница? Байты - они и есть байты, а какое расширение приделано к названию файла, на них никак не влияет (расширение нужно только ОС, чтобы знать какой прогаммой данный файл открывать).
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 17:51  [ТС]     Каким образом открыть двоичный код, файла любого формата? #9
alsav22, Ваш код записывает в str всю информацию из test.txt , мне нужно что бы он записывал туда бинарный код.

Вот взгляните, не беспокойтесь сервис проверенный
http://screencloud.net/v/vFLN
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 17:54     Каким образом открыть двоичный код, файла любого формата? #10
Бинарный код - это, собственно, что такое?
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 17:57  [ТС]     Каким образом открыть двоичный код, файла любого формата? #11
alsav22,Возможно - это мой косяк с недопониманием, но я думал что должны вылупиться еденицы и нолики аля " 0100100010101"
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 18:02     Каким образом открыть двоичный код, файла любого формата? #12
Цитата Сообщение от Outmee Посмотреть сообщение
Возможно - это мой косяк с недопониманием,
Конечно.
Цитата Сообщение от Outmee Посмотреть сообщение
я думал что должны вылупиться еденицы и нолики аля " 0100100010101"
При желании можно и единицы, и нолики вылупить, но зачем?
В файле байты, считываются в string, вывести их оттуда можно по-разному: в виде символов (те же байты, но в графическом отображении), в виде десятичных кодов символов, ну, и в виде кодов символов в двоичном виде (тогда и появятся ожидаемые нолики и единицы). Но это уже другая тема, не имеющая отношения к:
Цитата Сообщение от Outmee Посмотреть сообщение
Каким образом открыть двоичный код, файла любого формата?
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 18:33  [ТС]     Каким образом открыть двоичный код, файла любого формата? #13
alsav22, Мне вообще нужно шифровать данные и я все сомневаюсь что байты подойдут.
А вы как считаете?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 18:37     Каким образом открыть двоичный код, файла любого формата? #14
На такой вопрос трудно дать конструктивный ответ. Хочется сказать: "А вы не сомневайтесь..."
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
08.06.2014, 18:40     Каким образом открыть двоичный код, файла любого формата? #15
Можно ответить так: байты подойдут для любого способа шифрования, если маленько подумать.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.06.2014, 18:40     Каким образом открыть двоичный код, файла любого формата? #16
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот так вылупятся нолики и единички:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <string>
#include <fstream>
#include <iterator>
using namespace std;
 
string f(int d_code)
{
    string b_code;
    int b = 0;
    int q = 0;
    
    if (d_code != 0)
    {
        while (true)
        {
            q = d_code / 2;
            if (q == 0) 
            {
                b_code.insert(b_code.begin(), '1');
                break;
            }
            b = d_code % 2;
            if (b == 0) b_code.insert(b_code.begin(), '0');
            if (b == 1) b_code.insert(b_code.begin(), '1');
            d_code = q;
        }
    }
    else b_code.insert(b_code.begin(), '0');
    
    int c = (b_code.size() % 4);
    if (c != 0)
        for (int i = 0; i < 4 - c; i++)
            b_code.insert(b_code.begin(),'0');
    else
    {
        if (b_code.size() == 4)
            for (int i = 0; i < 4; i++)
                b_code.insert(b_code.begin(),'0');
    }
    
    return b_code;
}
 
 
int main ()
{
    ifstream fin("test.txt", ios::binary);
    if (!fin)
        cout << "Error!" << endl;
    else
    {
        string str((istreambuf_iterator<char>(fin)), istreambuf_iterator<char>());
        cout << str << endl << endl;
 
        for (int i = 0; i < str.size(); ++i)
        {
            cout << f((int)str[i]) << ' ';
        }
        cout << endl;
    }
 
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2014, 18:59     Каким образом открыть двоичный код, файла любого формата?
Еще ссылки по теме:

C++ Каким образом после чтения из файла, узнать позицию для чтения следующего куска байт
Каким образом реализуется квалификатор const? C++
Каким образом разархивировать gzip? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Outmee
 Аватар для Outmee
2 / 2 / 0
Регистрация: 26.01.2014
Сообщений: 56
08.06.2014, 18:59  [ТС]     Каким образом открыть двоичный код, файла любого формата? #17
alsav22, пожалуй перестану вас мучать, а поблагодарю и пойду читать матчасть,
Спасибо за конструктивные ответы.
Yandex
Объявления
08.06.2014, 18:59     Каким образом открыть двоичный код, файла любого формата?
Ответ Создать тему
Опции темы

Текущее время: 15:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru