![]() |
|
![]() ![]() ![]() |
|
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
как узнать код символа по АСКИИ в билдере?
То есть код у Э буквы 157!!! int ff=(char)"Э"; покажет что у Э код 77!!! как так? int ff=(char)"8"; а у этого 79!!! когда между 8 и Э по аскии разница 157-56=101 а не как не 2 Что такое? |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
"Э" - это строковой литерал.
Говоря в терминах C/C++ - это указатель на область память, где содержатся значения 'Э', '\0' ты этот адрес приводишь к типу char, то есть берешь от него последний байт. правильно надо так: int ff = 'Э'; приводить к char нельзя, т.к. русские символы имеют код > 127 и тогда возникнет переполнение знака. |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
нельзя ли тут пояснения, о чем речь ?
или я неправильно понял цитату... Это сообщение отредактировал(а) mes - 6.4.2009, 19:51 |
||||
|
|||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
Rififi, если так int ff = 'Б';
то ff будет равен -63 а должен быть 129!!! Может есть отдельные ф-ии такие как в бэсике ASC CHR??? Добавлено через 3 минуты и 40 секунд если так написать unsigned char a; a = 'п'; int cod = (int)a; то код буквы п будет 239 равен что неверно!! Добавлено через 5 минут я возмущен |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
mes,
поскольку [signed] char вмещает диапазон чисел -128 .. 127, то этого недостаточно, чтобы корректно представить верхнюю половину ascii-таблицы - коды этих символов получатся отрицательными, что лишено всякого смысла. Добавлено через 3 минуты и 9 секунд rthsobakas, Rififi, если так int ff = 'Б'; то ff будет равен -63 а должен быть 129!!! всё правильно. ты знаковый char приводишь к знаковому int. поскольку число 'Б' (а для Си символ и его код - это одно и то же) отрицательное, то происходит расширение знака Добавлено через 7 минут и 7 секунд rthsobakas, то код буквы п будет 239 равен что неверно!! кто сказал что неверно? вот например microsoft считает что верно, а всех несогласных посылает в пешее эротическое :gigi: |
|||
|
||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
Rififi,
если так написать unsigned char a; a = 'я'; unsigned int cod = (unsigned int)a; то код буквы я будет 255 равен что неверно!! Добавлено через 6 минут и 34 секунды у буквы я код 239 в аскии Добавлено через 7 минут и 21 секунду я не понимаю билдер переделал что ли аскии Это сообщение отредактировал(а) rthsobakas - 6.4.2009, 20:12 |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
rthsobakas,
то код буквы я будет 255 равен что неверно!! да спасибо, это я и в первом сообщении прочитал. ишшо раз - кто тебе сказал что это неверно? дай ему в морду, ибо этот чел походу не только не знает, что существуют разные кодировки, но и тебя запутал. :gigi: |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
откройте для себя таблицу символов : пуск/все программы/стандартные/служебные/таблица символов и убедитесь что все правильно ![]() В кодировке Dos (и других) русские символы будут представлены иначе ![]() В общем что написали, то и получили ![]() Это сообщение отредактировал(а) mes - 6.4.2009, 20:27 |
|||
|
||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
Rififi, попов в. б. сказал!
школьная книга осталась про турбо паскаль. Страница 482. ща в инете найду или фотку кину |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
особенно учитывая, что ряд компиляторов (в частности gcc) рассматривают char как signed char ![]() просто для операций семантически отличных от операций_над_символоми необходимо делать правильное преобразование ![]() Это сообщение отредактировал(а) mes - 6.4.2009, 20:46 |
|||
|
||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
||||
|
||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
Вы читать умеете ? ![]()
Вы исходник в какой кодировке печаете ? Вот ту кодировку и смотрите. А если хотите получить от 'я' 239 , то пишите в досовской кодировке. Это можно сделать например в блокноте ![]() Это сообщение отредактировал(а) mes - 6.4.2009, 20:46 |
|||
|
||||
rthsobakas |
|
|||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
mes, так сразу бы и сказали. А то я тут чуть сума не сошел
![]() ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 6 Всего: 250 |
так я и сказал сразу : http://forum.vingrad.ru/index.php?showtopi...t&p=1835264 ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |