Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
#1

Перевести в ASCII код русские буквы - C++

09.09.2016, 17:48. Просмотров 1332. Ответов 12
Метки нет (Все метки)

Ребят, возникла проблема перевод в ascii код русские буквы. В инетрнете нашел что надо использовать unsigned char но он не правильно определяет.
ВОт как я делаю:
C++
1
2
3
4
5
string a;
cin >> a;
 
for (int i = 0; i < a.length(); i++)
        text[i] = (unsigned char)a[i];

http://www.cyberforum.ru/cpp-beginners/thread1815525.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2016, 17:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перевести в ASCII код русские буквы (C++):

Просканировать строку, и вернуть слово, если ASCII код каждой буквы этого слова четный
написать функцию которая сканирует строку и возвращает слово если ASCII код...

Русские символы из ASCII
Программа отправляет &quot;POST&quot; запрос в гугл Speech и сохраняет ответ. Но...

Перевести текст в кодировку ASCII
перевести текст&quot;Daria&quot; в код ASCII

Перевести из int в string по таблице ascii
подскажите как перевести из числа в символ? есть int a = 97; как получить...

Как перевести символы из ASCII в ANSI
Читаю файл который в ASCII нужно переконвертить его в ANSI. Что делать???...

12
HighPredator
5647 / 1964 / 715
Регистрация: 10.12.2010
Сообщений: 5,690
Записей в блоге: 3
09.09.2016, 18:03 #2
Вот посмотрите в таблице где именно в кодовой странице 855 находятся русские символы и какие у них коды http://www.ascii-codes.com/cp855.html
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 18:04  [ТС] #3
у маленькой русской буквы а он пишет 160
0
MansMI
1447 / 1156 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
09.09.2016, 18:20 #4
где, с чего пишет?
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 18:49  [ТС] #5
Цитата Сообщение от MansMI Посмотреть сообщение
где, с чего пишет?
C++
1
2
3
4
5
string a;
cin >> a;
 
for (int i = 0; i < a.length(); i++)
        text[i] = (unsigned char)a[i];
Так английские буквы правильно ascii код клавиши показывает. С русскими проблема. Не правильные пишет. Пишешь букву а, он выводит, что его аскии код 160
0
HighPredator
5647 / 1964 / 715
Регистрация: 10.12.2010
Сообщений: 5,690
Записей в блоге: 3
09.09.2016, 18:56 #6
Цитата Сообщение от Андей Посмотреть сообщение
Пишешь букву а, он выводит, что его аскии код 160
Вы таблицу смотрели?
160 A0 Cyrillic lower case a
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 19:00  [ТС] #7
Цитата Сообщение от HighPredator Посмотреть сообщение
Вы таблицу смотрели?
ну когда например вводишь букву ц пишет 230, у ж 166
0
MansMI
1447 / 1156 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
09.09.2016, 19:00 #8
Андей,
Цитата Сообщение от Андей Посмотреть сообщение
а, он выводит
на каком потолке, что выводит?
код целиком можно?
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 19:06  [ТС] #9
Цитата Сообщение от MansMI Посмотреть сообщение
на каком потолке, что выводит?
код целиком можно?
это почти и весь код)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
 
int main()
{
    string a;
    int text[100];
 
    getline(cin, a);
for (int i = 0; i < a.lenght(); i++)
        text[i] = 0;
 
for (int i = 0; i < a.length(); i++)
        text[i] = (unsigned char)a[i];
for (int i = 0; i <= a.lenght(); i++)
        cout << text[i];
}
0
MansMI
1447 / 1156 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
09.09.2016, 19:22 #10
чем не довольны? хотели int и получили его
C++
1
cout <<(unsigned char) text[i];
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 19:45  [ТС] #11
Цитата Сообщение от MansMI Посмотреть сообщение
чем не довольны?
получаю не правильный инт, т.е. не правильный аски код
0
MansMI
1447 / 1156 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
09.09.2016, 19:59 #12
день не задался .... а какой правильный? 'А' должен быть 128 или 192?
смотря что нужно: setlocale, OemToCharA, CharToOemA временами помогает
0
Андей
1 / 1 / 1
Регистрация: 20.09.2014
Сообщений: 302
09.09.2016, 20:58  [ТС] #13
Цитата Сообщение от MansMI Посмотреть сообщение
смотря что нужно
SetConsoleCP(1251);SetConsoleOutputCP(1251);
это подрубил, помогло
0
09.09.2016, 20:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2016, 20:58
Привет! Вот еще темы с решениями:

Не могу перевести из двоичного кода в ASCII
Есть ли в C++ функция получения кода ASCII по двоичному, и наоборот? Имею...

Русские буквы в С
помогите разобраться с алфавитом в с как сделать что бы когда я ввожу русские...

русские буквы
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем...

русские буквы
Всем привет!!! У меня есть один вопрос, может кто-нибудь знает ответ на него....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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