CyberForum.ru - Форум программистов и сисадминов
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум программистов > Форум C++ > Форум C++ Builder

Ответ Создать новую тему
 
Старый 29.01.2012, 03:24   #1
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Конвертировать строку в бинарный код

Имеется строка: 0011010011000101
Как ее преобразовать в бинарник в C++ Builder? (сжатие данных на 60%)

Возможно потом к этому бинарному коду добавить строку "Привет, Мир!" не преобразовывая в бинарный код?

На выходе нечто такое:
0011010011000101Привет, Мир!

Не по теме:
Изучаю криптографию


Ожидаю дельного совета по работе с данными в С++ (ссылки, учебники).
Сейчас читаю книгу "Основы программирования" и понимаю что очень многое упустил учившись по программе и статьям.
QVO вне форума
Другие темы раздела
Немогу кнопку назвать по русски ((( C++ Builder
Прошу, помогите мне, впервые с таким встретился ((( Храните картинки на форуме - это гламурно.. Немогу кнопку назвать по русски (((
C++ Builder Работа с циклом if else.
Доброго утра, дня или вечера! Кому как :) Я понимаю, что, возможно, задаю очень глупый вопрос(заранее прошу прощения), но не могу разобраться с циклом. for (int i=sl->Count-1;i>=0;i--) if (sl->Strings.Pos(edit3->Text)) { String s=sl->Strings; id=s.SubString(4,s.Pos("Name=")-4).ToInt();.... Работа с циклом if else.
Старый 29.01.2012, 05:56   #2
mimicria
return (true);
 
Аватар для mimicria
 
Регистрация: 19.04.2011
Адрес: Орёл
Сообщений: 1,470
Репутация: 1249 (679)
По умолчанию Re: Конвертировать строку в бинарный код

Строка и так в бинарном виде. Если хотите преобразовать к битикам типа 11111111 это 0xFF, то пригодится Преобразование двоичных чисел в десятичные. Непонятны только 2 момента: при чём тут сжатие данных 60% и каким боком тут "привет мир"
mimicria вне форума
Старый 29.01.2012, 18:48  [ТС]   #3
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Re: Конвертировать строку в бинарный код

mimicria, имеется строка из 10 000 символов, методом хаффмана она сжимается ~40-60%.
после этого к ней необходимо добавить текст\сообщение на сжатую разницу и получаем на выходе тех же 10 000 байт.

Добавлено через 6 часов 2 минуты
Цитата Сообщение от mimicria Посмотреть сообщение
Строка и так в бинарном виде.
строка это строка: 0011 - 48484949
QVO вне форума
Старый 30.01.2012, 05:44   #4
mimicria
return (true);
 
Аватар для mimicria
 
Регистрация: 19.04.2011
Адрес: Орёл
Сообщений: 1,470
Репутация: 1249 (679)
По умолчанию Re: Конвертировать строку в бинарный код

Цитата Сообщение от QVO Посмотреть сообщение
строка это строка
Я выше привёл ссылку как преобразовать 2->10.
Для справки: бинарный - двоичный, представленный элементами всего двух видов.
mimicria вне форума
Старый 30.01.2012, 08:42   #5
vxg
Форумчанин
 
Регистрация: 13.01.2012
Адрес: Краснодар
Сообщений: 480
Репутация: 188 (157)
По умолчанию Re: Конвертировать строку в бинарный код

может чем поможет
Вложения
Тип файла: rar recovery.rar (1.2 Кб, 15 просмотров)
vxg вне форума
Старый 30.01.2012, 08:43   #6
vxg
Форумчанин
 
Регистрация: 13.01.2012
Адрес: Краснодар
Сообщений: 480
Репутация: 188 (157)
По умолчанию Re: Конвертировать строку в бинарный код

в догонку - про хаффмана
Вложения
Тип файла: rar recovery2.rar (2.2 Кб, 13 просмотров)
vxg вне форума
Старый 30.01.2012, 19:43  [ТС]   #7
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Re: Конвертировать строку в бинарный код

mimicria, методом Хаффмана сжимаю текст. на выходе строка 001101.
смысл мне двоичный код переводить еще раз в двоичный код? я с этого ничего не выиграю.


Не по теме:
то ли я дурак, то ли лыжи не едут.
QVO вне форума
Старый 31.01.2012, 05:36   #8
mimicria
return (true);
 
Аватар для mimicria
 
Регистрация: 19.04.2011
Адрес: Орёл
Сообщений: 1,470
Репутация: 1249 (679)
По умолчанию Re: Конвертировать строку в бинарный код

Цитата Сообщение от QVO Посмотреть сообщение
mimicria, методом Хаффмана сжимаю текст. на выходе строка 001101.
Вы же сами спросили как преобразовать эту строку? Насколько я понимаю, смысл в том, чтобы каждый байтик 1 или 0 строки преобразовать в битик, сжатие в 8 раз =)
Если хотите помощи, опишите подробно какие данные есть, какого они типа и во что должны превратиться, а то гадаем на гуще.
mimicria вне форума
Старый 31.01.2012, 12:41  [ТС]   #9
QVO
Форумчанин
 
Аватар для QVO
 
Регистрация: 26.10.2010
Адрес: Симферополь
Сообщений: 719
Репутация: 525 (336)
По умолчанию Re: Конвертировать строку в бинарный код

mimicria, генерирую строку рандомно (с неравномерным распределением)
ывауцевапкерпарукеывп435634павпвап
Потом сжимаю методом Хаффмана. На выходе получаю строку.
01010011101111001010101010111101010101
Но эта строка должна быть в битах а не в байтах.
QVO вне форума
После регистрации реклама в сообщениях будет скрыта
Старый 31.01.2012, 13:24   #10
mimicria
return (true);
 
Аватар для mimicria
 
Регистрация: 19.04.2011
Адрес: Орёл
Сообщений: 1,470
Репутация: 1249 (679)
По умолчанию Re: Конвертировать строку в бинарный код

Цитата Сообщение от QVO Посмотреть сообщение
Но эта строка должна быть в битах а не в байтах
И мы снова возвращаемся к ссылке в моём первом посте, которая рассказывает нам как перевести из двоичной системы счисления в десятичную.
Например:
00001010 = 0*2^0 + 1*2^1 + 0*2^2 + 1*2^3 ... = 10
В файл записываем char a=10; // 1 байт
mimicria вне форума
Ответ Создать новую тему

Похожие темы
Тема Автор
С++ для начинающих ввести строку символов. Сформировать строку вдвое большей длины, где каждый символ предворяется пробелом. Вывести полученную строку.
Задание: ввести строку символов. Сформировать строку вдвое большей длины, где каждый символ предворяется пробелом. Вывести полученную строку. Вот код программы: #include <conio.h> #include <iostream.h> #include <string.h> void main() { clrscr(); char x;
Aleksei555
Java SE (J2SE) Перевести строку в бинарный код
Написал программу, которая должна переводить строку в двоичный код: import java.util.Scanner; public class Main { public static void main(String args) { Scanner in=new Scanner(System.in); String s; s=in.nextLine(); int d = new int; for (int i=0;...
Geekon
C++ Builder Как конвертировать строку wchar_t* в char*
Есть ли функция, которая конвертирует многобайтную строку в обычную? А то в последних версиях C++Builder я не нашел метода преобразования UnicodeString в char*. Добавлено через 2 часа 34 минуты Что разве не существует такой функции?
Evgen88
Алгоритмы Конвертировать строку в HTML-код
Мне нужно написать визуальный HTML-редактор с возможностью показа сгенерированного HTML кода. Вообще, пишу на Java, но мне нужен универсальный алгоритм "превращения" строки в HTML-код. Я вообще задумал так. Есть у меня строка, котору я редактирую в поле ввода. Когда пользователь хочет сменить...
Ёрик
С++ для начинающих Как конвертировать строку MFC CString в LPSTR??
Получаю из файла CString хочу кинуть в MessageBox(mystring). Но mystring это LPSTR? Спасибо заранее!
danhost
Опции темы

Текущее время: 00:31. Часовой пояс GMT +4.

Компьютерный форум программистов и сисадминов
Powered by vBulletin® Version 3.8.7 PL2
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Рейтинг@Mail.ru Яндекс.Метрика