Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.67
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
#1

кодировка символов в С++ - C++

30.01.2010, 14:16. Просмотров 5800. Ответов 7
Метки нет (Все метки)

получил кода русских символов через такую небольшую прогу:

C++
1
2
3
4
5
6
7
char ch, ch1;
int in, in1;
ch = 'я';
ch1 = 'А';
in = ch;
in1 = ch1;
cout << in << in1 << endl
И оказалось что букве "я" соответствует код -1 а букве "А" - код -64, тоесть русские символы [А-я] лежат в диапазоне [-64; -1]

Хотелось бы спросить что это за кодировка такая? почему такие бешеные кода?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2010, 14:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос кодировка символов в С++ (C++):

кодировка символов - C++
Всем привет! Столкнулся с такой проблемкой: есть поле unsigned char в него я и ввожу параметр значения, однако необходимо чтобы...

Кодировка символов в консоли - C++
Напомните ещё один способ установки кодовой страницы в консоли для визуал студии, по крайней мере работающий в ней. В нём кодировка...

Кодировка символов для порта - C++
Здравствуйте. :) У меня задача - передать по COM-порту данные в двоичном коде. Я разобрался как передавать по нему данные но в кодировке...

Символы и строки. Кодировка символов - C++
Написать функции, которые шифруют-дешифруют текст помещенный в файле, имя которого задается в качестве параметра, заменяя буквы цифрами в...

Упрощенная консольная графика и кодировка символов - C++
Всем привет! Сразу к делу! У Лфоре есть листинг программы horse.cpp. Так вот вродебы нащел листинг программы, нужные библиотеки для...

Кодировка символов при выводе в консоль. - C++
Код #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
RazorQ
577 / 344 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
30.01.2010, 14:25 #2
А почему ты берешь большую букву 'а'? Скорее всего это кодировка windows-1251, в которой строчные символы отличаются от прописных на 32
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.01.2010, 14:26 #3
Вот тебе таблица ASCII
C++
1
2
for(int i = 0; i < 256; ++i)
    std::cout<<i<<' '<<(char)i<<std::endl;
Day
1155 / 960 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
30.01.2010, 14:31 #4
Попробуй обьявить unsigned char ch, ch1;
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
30.01.2010, 15:04  [ТС] #5
Цитата Сообщение от RazorQ Посмотреть сообщение
А почему ты берешь большую букву 'а'? Скорее всего это кодировка windows-1251, в которой строчные символы отличаются от прописных на 32

да это правда строчные от прописных отличаються на 32, например 'Я' == -33

Добавлено через 8 минут
Цитата Сообщение от M128K145 Посмотреть сообщение
Вот тебе таблица ASCII
C++
1
2
for(int i = 0; i < 256; ++i)
    std::cout<<i<<' '<<(char)i<<std::endl;
тогда такой вопрос, для кодировки обычного текста блокнота используеться другая кодировка? а то ASCII не подходит

Добавлено через 22 минуты
Цитата Сообщение от Day Посмотреть сообщение
Попробуй обьявить unsigned char ch, ch1;
да, помогло спасибо, оказываеться это все-таки кодировка cp1251, только вот строчнаю 'ю' неотображаеться
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.01.2010, 15:29 #6
norge_goth, по умолчанию в блокноте 1251, но консоль - ASCII.
norge_goth
62 / 62 / 7
Регистрация: 27.01.2009
Сообщений: 279
30.01.2010, 15:35  [ТС] #7
Цитата Сообщение от M128K145 Посмотреть сообщение
norge_goth, по умолчанию в блокноте 1251, но консоль - ASCII.
хотелось бы узнать я для вывода на консоль использовал CharToOem, которая преобразовала в кодировку oem-866, так что получаеться символы с ASCII совпадают с символами с oem-866 или я что-то не так понимаю? Спасибо
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.01.2010, 20:00 #8
norge_goth, да, виноват, немного не так сказал, консоль - Oem. char - ASCII
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2010, 20:00
Привет! Вот еще темы с ответами:

Введите массив символов из 12 элементов. Удвоить все коды символов массива - C++
Условие :Введите массив символов из 12 элементов. Удвоить все коды символов массива. Заранее спасибо )

Как настроить ввод русских символов и в дальнейшем вывод этих символов - C++
Подскажите как в этом коде настроить ввод русских символов и в дальнейшем вывод этих символов. Данный код выводит лишь всякую ерунду место...

Дана строка символов. Подсчитать общее число вхождений символов .,+ в строку - C++
Здравствуйте. Дана строка символов. Подсчитать общее число вхождений символов .,+ в строку. Как такую программу сделать? Заранее спасибо за...

Дана строка символов. Подсчитать общее число вхождений символов - C++
Привет всем. Дана строка символов. Подсчитать общее число вхождений символов .,+ в строку. Помогите реализовать данную программу. Нашел...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.01.2010, 20:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru