| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > конвертирования двоичку в текст |
| Автор: MulllGuN 11.12.2007, 22:53 |
| В общем вопрос давольно простой. Мне понадобился конвертор текста в двоичную систему и обратно Предпологаю что мне нужно воспользаваца таблицой ASCII но встал ряд вопросов 1) я смотрел в нете и везде разные вариации этой таблицы. Интерестно знать, есть ли общипринятая? т.е. таблица которая являеца стандартной. 2) и как граматно ей воспользаваца при написание программы. и еще 1 вопрос, в принцапи не относиться к теме, в компиляторе с русским все нормально а когда программа уже готова в ней нет ни 1 русской буквы все символами.... |
| Автор: MulllGuN 11.12.2007, 23:30 |
| нет, я имел в веду текст, буквы т.е. по таблице у каждого символа есть номер этот номер можно перевести в двоичку и я предпологаю что бы не переписывать всю таблицу в скрипт должна быть какаенить функция |
| Автор: bsa 12.12.2007, 00:12 | ||
MulllGuN, каждый символ текста - это на самом деле число (в простейшем случае от 0 до 255). поэтому тебе нужно просто последовательно читать символы из текста и переводить их в двоичную систему:
|
| Автор: MulllGuN 12.12.2007, 00:33 |
| да нет. блин не то я имел в веду. блин если я с помащью своей программы переведу там например "привет" в двоичку или рассказ на лист. ты представь как будет выглядеть последний символ в двоичке это байта 2-3 вот что бы такова не было я хочу задействовать ASCII 1 символ = 1 целому байту |
| Автор: Greeen 12.12.2007, 01:08 |
| MulllGuN, ничего не понятно. Если будешь использовать ASCII, то вариант bsa все правильно сделает. |
| Автор: MulllGuN 12.12.2007, 01:11 |
| а что отвечает за ASCII ? и за перевод из двоички в символ по этой таблице и обратно? |
| Автор: bsa 12.12.2007, 15:57 |
| MulllGuN, ты не понял. ASCII - это соответствие символов кодам. Она используется теми, кто шрифты делает или перекодировщики из одной кодировки в другую. В твоем случае, не нужно ничего никуда перекодировать. Просто переводишь каждый код, задающий символ, в двоичную систему и все. |
| Автор: MulllGuN 18.12.2007, 02:47 |
| блин я обьясняю, что в этом случаи большые тексты будет сложно переводить в двоичку, вернее не сложнее а что 1 символ будет под конец занимать два байта а мне нужен 1 символ 1 байит при любом раскладе. по этому я и хочу воспользаваца таблицой Добавлено через 1 минуту и 41 секунду так видимо я реально ни чего не понял. обьясните плз "на пальцах" |
| Автор: nickless 19.12.2007, 01:48 | ||||
Почему ты так считаешь? Объясняю, букв нет есть цифры, компьютер ничего другого не понимает. Вот этот текст - набор цифр, просто программы интерпретируют их по другому и показывает тебе картинки, которые мы называем буквами. Как это происходит зависит от кодировки, их много, стандартной нет, ASCII например поддерживает только английские буквы, цифры и некоторые знаки. Поэтому сначала надо определится зачем тебе понадобилось "переводить" текст в "двоичку" и что это значит. По сути тебе нужно интерпретировать цифры как тебе надо, например записать их в виде десятичных цифр. Пример разной интерпретации одного и того же текста:
Вывод
Добавлено через 1 минуту Кстати символ может занимать до 4-х байт, это тоже зависит от кодировки, но обычно 1. |
| Автор: MulllGuN 21.12.2007, 03:31 |
| ммм... ладно попытаюсь по подробней обьяснить... есть сайт который конвертирует двоичку в текст и обратно (вот он http://it-static.pl/index.php?q=bin2txt) я хочу сделать тоже самое но на с++, не в сети а как обычную программу. Я просто думаю что он использавал общеизвестную таблицу символов. я тоже хотел бы ее применить для своей проги. думаю так болие ясней чего я хочу... |
| Автор: bsa 22.12.2007, 19:35 |
| MulllGuN, твой сайт ругается по польски. Приведи лучше несколько примеров работы - что на входе, что на выходе. Может тебе нужно что-то вроде http://ru.wikipedia.org/wiki/UUE - кодирование двоичных данных (т.е. не текстовых) в допустимый для ASCII набор символов? |
| Автор: MulllGuN 23.12.2007, 01:52 | ||||
скорее всего
примеров работы нет. могу обьяснить как это рабоатать должно я пишу текс в программу. программа переводит в двоичку. я этот текст отсылаю человеку. человек беред этот текст и переводит на нормальный человечески язык. (не при помащью моей программы) |
| Автор: nickless 23.12.2007, 04:21 | ||
Кое как нашел конвертер на том сайте, ничего сверхестественного он не делает, просто конвертирует буквы в числа. Напиши там "matrix has you" и сравни с тем, что выводит мой пример.
Интересно, а зачем? |
| Автор: MulllGuN 23.12.2007, 09:30 | ||||
хорошо.... только я не совсем понял алгоритм действий... вернее понял но по конкретней пожалуйста. вот как нам перевести символ "А" в двоичку... что мы используем?
кхм... эт немного личное) но все же... подруга программист... и хотелось бы ей новогодию открытку таким вот образом написать) попросить сделать когота или воспользаваца уже готовой программой не то, хочу еще понять самому как это делаеться) я надеюсь это ни чего не изменит) |
| Автор: bsa 23.12.2007, 12:30 |
| MulllGuN, вот http://forum.vingrad.ru/index.php?showtopic=186657&view=findpost&p=1345634 я написал то, что тебе нужно. Осталось лишь дооформить под твои нужды. И ничего более конкретного сделать нельзя, так как ты даже пример работы программы показать не хочешь, а ссылка, которую ты дал, не работает. Моя программа делает это: http://www.eki.mdh.se/personal/pdn01/apps/txt2bin.php Проверить можно тут: http://www.eki.mdh.se/personal/pdn01/apps/bin2txt.php |