|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.08.2009, 15:04 | #1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
ASCII
Добрый день. пишу шифрование, столкнулся с такой проблемой, что при увеличении кода некоторого символа, получается что-то такое, что не отображается на экране.
Написал программку для того,, чтобы узнать, как всё-таки идёт кодировка символов: Код:
Но у меня 1 вопрос:сколько символов кодирует ASCII? 256? (от 0 до 255)? если так, то что означают символы с кодами: 0 255 256. если я правильно понимаю, char(0) и char(256) даст один и тот же результат |
24.08.2009, 15:17 | #2 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
ASCII кодирует символы одним байтом. 256 не влезает в 1 байт(8 бит):
256дес. = 1 0000 0000дв. Отсюда видно, что если положить 256 в один байт, то он будет равен 0. Коды 0 и 255 не кодируют ничего, при выводе будет пустое место, вроде пробела, обычно их используют как ограничители(терминаторы), например в C-строках и т.д. |
24.08.2009, 15:21 | #3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
получается, что "рабочими" являются 32-254??
|
24.08.2009, 15:33 | #4 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Если ты занимаешься шифрованием, то открывать и записывать файлы нужно с атрибутом binary, тогда рабочими будут все 256 символов.
А в консоль выводится форматированный текст со знаками перевода строки, писком спикера, и т. д. Последний раз редактировалось ds.Dante; 24.08.2009 в 15:40. |
24.08.2009, 15:38 | #5 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Я бы советовал посмотреть аски-таблицу. Рабочими являются не только они, просто часть из тех, что меньше 32 - служебные символы(например 13(возврат каретки), 10(перенос строки), 9(табуляция) и т.д.), но не все а, например 1 - улыбочка
|
26.08.2009, 19:07 | #6 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
подскажите плиз, как написать на с++ билдер код, чтобы каждый символ в Memo->Text увеличивался на StrToInt(Edit1->Text), но таким образом, чтобы результат был печатаемым символом? По идее нужно как-то использовать операцию деления по модулю? Но возможно ли её использовать для AnsiString? или можно обойтись без операции деления по модулю?
как я понял, нужно обойти все символвы с кодировками 0-31 и 255-..(кодировки цикличны). начиная с 256 всё повторяется с точностью, что и для кодировок, начиная с 0 |
26.08.2009, 19:14 | #7 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Если правильно понял, вы хотите что-то такое?
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
26.08.2009, 19:26 | #8 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
да. что-то такое. можешь только пояснить про преобразование типов, которые ты провёл? не очень понятно
|
26.08.2009, 19:29 | #9 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Код:
Код:
Код:
Наверное, правильнее будет Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
27.08.2009, 11:01 | #10 | |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Цитата:
но у меня просьба ответить на 2 вопроса: 1. Поясни, пожалуйста со скобками в преобразовании типов. я чёт запутался 2. почему без преобразования типов этот код неправильно работал? |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ascii код | dollemika | Помощь студентам | 2 | 29.04.2009 20:07 |
ASCII коды | Strogg | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 03.04.2009 17:09 |
paskal ascii | netcher | Помощь студентам | 1 | 03.03.2009 12:45 |
ASCII в ANSI | JRcoker | Общие вопросы Delphi | 5 | 03.08.2008 15:49 |
Перекодировка из ASCII | Dimo444ka | Помощь студентам | 2 | 25.05.2008 13:22 |