Как перевести текстовый файл в бинарный
Перейти к содержимому

Как перевести текстовый файл в бинарный

  • автор:

Конвертировать Текст в Бинарный формат

Считаете ли вы этот инструмент полезным? То поделитесь этим с друзьями или коллегами. Это поможет нам сделать наши бесплатные веб-инструменты лучше.

Эта форма позволяет вам конвентировать строку в двоичные числа, вставьте или загрузите текст ниже:

Конвертировать Ваш результат можно увидеть ниже.

Результат конвентирования строки в двоичный данные

Переместить чтобы Сохранить Перенести в «Вставить код» для сохранения

О конвентировании строки в двоичные данные

Что такое Binary?

Бинарная цифровая схема или система счисления base-2 представляет числовые значения с использованием двух символов 0 и 1. Более конкретно, обычная система base-2 представляет собой позиционную запись с основанием 2. Благодаря ее простой реализации в цифровой электронике Схема с использованием логических элементов, двоичная система используется внутри всех современных компьютеров.

О конвентировании строки в двоичный формат

Конвентировать строку в двоичный формат была создана для онлайн конвентирования любых строковых данных (букв, цифр, знаков пунктуации и некоторых символов) в двоичные данные. 1 и 0, которые заставляют наш мир вращаться сегодня. Этот инструмент преобразует строку ASCII, Unicode или UTF8 в ее двоичное представление.

Как это работает?

Просто вставьте строку в текстовую область выше и нажмите кнопку «Конвентировать», и вы получите двоичные данные в следующей текстовой области.

Пример
wtools.io

Двоичные данные:

01110111 01110100 01101111 01101111 01101100 01110011 00101110 01101001 01101111

Пожертвовать

Вам понравился этот инструмент? Вы можете задонатить нам. Это поможет нам улучшить наши бесплатные веб-инструменты.

Конвертация из txt файла в bin файл, и наоборот

Бьюсь уже второй день, ничего не работает. И код из этого обсуждения (https://stackoverflow.com/ques. -file-in-c) тем более. Получается считывать данные из txt файла, а вот с бинарным полный провал.
Вкратце, имеется некий входной txt-файл, где записаны числа. Строк может быть любое количество(в строке по числу 3-4).

Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Файл: Переписать текст в t3.txt сначала из файла t1.txt, а потом из файла t2.txt
1) Переписать текст в t3.txt сначала с файла t1.txt, а потом с файла t2.txt 2) Файл t2.txt.

Как из txt файла с hex перевести данные в bin
добрый день! Задача такова есть текстовый файл с hex строками. надо их извлечь и поместить в .bin.

Конвертация txt файла в HTML
Есть txt файл, который был сгенерирован скриптом. Можно ли как-то переконвертировать этот файл в.

Нарушитель
8936 / 4800 / 1111
Регистрация: 12.03.2015
Сообщений: 22,645

ЦитатаСообщение от stewik Посмотреть сообщение

Вкратце, имеется некий входной txt-файл, где записаны числа.
И таки що ви хочете с ним сделать?
89 / 108 / 15
Регистрация: 26.01.2014
Сообщений: 689

Попробуй на чтение твой .txt файл открыть как текстовой, а на запись как бинарный. Если нужно, пока очередная порция чтения у тебя в программе, можешь повыбросить из нее (или добавить) все что считаешь нужным. Всегда твой — Etien.

2682 / 2151 / 674
Регистрация: 29.06.2020
Сообщений: 7,960

Лучший ответ

Сообщение было отмечено stewik как решение

Решение

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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
#include #include #include #include using std::ifstream; using std::ofstream; typedef int32_t number_type; // тип в котором будут хранится числа в бинарном файле // (также определяет диапазон значений) int fromTXTtoBIN(ifstream & in, ofstream & out); int fromBINtoTXT(ifstream & in, ofstream & out); int main() { ifstream txtfile("some.txt"); ofstream binfile("some.bin"); std::coutfromTXTtoBIN(txtfile, binfile)std::endl; txtfile.close(); binfile.close(); ofstream txtfile2("textfrombin.txt"); ifstream binfile2("some.bin"); std::coutfromBINtoTXT(binfile2, txtfile2)std::endl;; return 0; } int fromTXTtoBIN(ifstream & in, ofstream & out)  newline = true; ss.str(""); ss.clear(); s.clear(); } return numbers_convert; } return -1; // ошибка открытия файлов } int fromBINtoTXT(ifstream & in, ofstream & out)  std::stringstream ss; std::string s; number_type num=0; size_t numbers_convert = 0; bool newline=false, space = false; if (in.is_open() && out.is_open()) { while(std::getline(in, s) && ( !s.empty()  newline = true; ss.str(""); ss.clear(); s.clear(); } return numbers_convert; } return -1; // ошибка открытия файлов }

Функцией перевода текстового файла в бинарный

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее.

Копирование из текстового файла в бинарный
Как скопировать структуру с данными записанную в текстовом файле, в бинарный файл. Буду.

Вместо текстового файла бинарный
Здравствуйте! Нужно составить две программы. Первая должна формировать двоичный файл с числами.

Чтение из текстового файла и запись в бинарный
Задача стоит прочитать набор чисел из текстового файла, записанных в строчку, в числовой массив.

60 / 48 / 13
Регистрация: 12.11.2012
Сообщений: 373
Записей в блоге: 2

Ну так всё так и должно быть. Текстовый формат — это всего лишь подвид бинарного. Берёте бинарный файл и говорите, что определённое количество байт стоящих подряд задают код символа. И, вуаля, вот вам текстовый. А по сколько именно байт и какие коды какому символу соответствуют — это зависит от кодировки текста (например, ASCII, UTF, UNICODE и т.д.). Преобразовывать текст в бинарный формат занятие бессмысленное. А вот если там есть, например, цифры, вроде «123 456 789» разделённых чем угодно, но в моём примере пробелом. Тогда нужно по очереди выделить каждую цифру в отдельную строку «123», «456», «789» и к каждой применить atoi или sscanf. И Вы получите свои числа, например в массиве int, который уже можно писать в файл. Только вот в блокноте бинарный файл всё равно нормально не отобразится, для этого нужен какой-нибудь HEX редактор.

PS: расширение влияет только на то, какая программа будет открывать файл при двойном клике. Содержание файла, при изменении расширения, не меняется.

Как преобразовать *.txt в бинарник на C++

Это можно сделать по разному. В зависимости от того что ты понимаешь под бинарным фалом. Уточни.

#2
12:44, 15 фев 2007

>szBuffer нужно преобразовать как-то в бинарник и записать в файл
что ты имеешь в виду? такой способ работы с файлами как у тебя не делает различия между текстовым и бинарным режимом открытия файла.
афайк текстовые файлы как сущность введены только в Windows libc для перевода \n -> \x0A\x0D и обратно.

#3
12:48, 15 фев 2007

Текстовой файл — он изначально уже бинарник. Ибо любой файл на диске — он в любом случае УЖЕ бинарник, т.к. хранится в бинарном представлении.

Что именно тебе нужно — для меня загадка. Твой код вполне корректно прочитает и сохранит файл из одного места в другое (неважно текстовой он или графический). Блох я правда в нём не искал.

Попробуй почетче переформулировать вопрос. Помни, что когда ведут речь о «текстовых файлах» противопоставляя их «бинарным» имеют ввиду только вопрос трактовки символа(ов) т.н. «новой строки/переноса строки».
Есть два варианта:

В DOS-txt файлах переносом строки является последовательность из 2-х символов с кодами 13 и 10 (в десятичной системе).
В UNIX-txt файлах переносом строки является одиночный символ с кодом 13.

Повторяю — и первый и второй варианты тем не менее «двоичны/бинарны» по своей компьютерной сути.
Вопрос только в том что какую именно последовательность двоичных символов ты воспринимаешь как перенос строки. Вот и вся разница.

#4
12:52, 15 фев 2007

***Zebr@XXL***
например если открыть bmp в текстовом режиме то будет
ü5âB¢@Ö6ë7èDáGóJ¿R┤Cƒ

а нужно например 3,1415926535 перевести в этот бред чтоб потом читать только с бинарника

Конишуа
да, я открываю *.txt читаю данные в буфер, а как конвертнуть данные в буфере они там ведь в тексте

#5
12:57, 15 фев 2007

>афайк текстовые файлы как сущность введены только в Windows libc для перевода
>\n -> \x0A\x0D и обратно.

На самом деле история гораздо глубже.
Древние печатные машинки, и построенные на их базе матричные принтеры имели 2 разных кнопки/команды, такие как перевод строки (#13), и возврат каретки (#10) (до сих пор в телеграфных аппаратах так и сохранилось. возможно даже и в современных принтерах тоже).
Перевод строки просто поднимал бумагу вверх на одну строку. Печатающая головка при этом оставалась висеть на прежнем месте. Требовась отдельная команда по переводу каретки в крайнее левое положение, что печатаь продолжалась с новой строки. Т.е. чисто механическая фича, унаследованная электроникой.
В дальнейшем даже некоторые дисплеи унаследовали это разделение команд, а уж принтеры — почти поголовно.

В CP/M и его наследнике DOS-е, поэтому началом новой строки текстового файла приняты обе команды.
В юникс решили на этом вопросе сэкономить и оставили только 13. Но тут то выплывала проблема совместимости с печатными устройствами. Так что, по моим догадкам понятие текстового файла появилось именно в unix.

  • ***Zebr@XXL***
  • Постоялец

#6
13:00, 15 фев 2007

dx
Ну всё правильно. Так и должнобыть. bmp — не текст ведь. А что бы записать 3,1415926535 в этот «бред» нужно сделать так:

float f = 3.1415926535f; WriteFile( hBinFile, &f, sizeof(float), &dwWrit, NULL);

#7
13:01, 15 фев 2007

Огозбоди. Внуки Петросяна опять атакуют.

Для того чтобы ответить на твой вопрос нужно строго-настрого определится с двумя вещами:
а) формат текстового файла
б) формат бинарного файла
Только после этого вопрос приобретет смысл.

#8
13:09, 15 фев 2007

***Zebr@XXL***
Спасибо. Прокатило.

#9
13:43, 15 фев 2007

std::string textData; // Допустим у нас тут текст, загруженный из файла
std::vector binaryData(textData.begin(), textData.end());
write_binary(name, &binaryData[0], binaryData.size()); // Записываем в файл name, открытый в binary mode:

#10
14:29, 15 фев 2007

Wolfheart
А что есть write_binary()?

Или надо писать std::vector write_binary(name, &binaryData[0], binaryData.size()). У меня MVC++6.0 может либа какая?

#11
14:59, 15 фев 2007

Не слушай Wolfheart. Просто еще один путь сделать то, что ты уже сделал в посте №1.

Лучше определись с:
а) формат текстового файла
б) формат бинарного файла

До тех пор никто тебе тут ничего полезного не скажет.

#12
15:10, 15 фев 2007

write_binary это просто пример. Нету такой функции.

  • Frankinshtein
  • Постоялец

#13
16:15, 15 фев 2007

Wolfheart
Вау) а можно еще сделать так:
OpenTextFileAndSaveAsBinary(filename);

  • Frankinshtein
  • Постоялец

#14
16:16, 15 фев 2007

dx
Ты хоть скажи, что у тебя хранится в текстовом файле?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *