1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
||||||
1 | ||||||
Русские символы из ASCII18.07.2012, 09:08. Показов 5105. Ответов 16
Метки нет (Все метки)
Программа отправляет "POST" запрос в гугл Speech и сохраняет ответ. Но сохраняет в ASCII. Текстовый редактор читает это нормально, а вот уже из программы открыть этот файл и сохранить нужный текст без иероглифов нормально не могу. Если создать свой текстовый файл и заполнить его так-же самому, то все отлично работает.
P.S. Единственное, что известно, так это на каждую русскую букву уходит по 1 лишнему байту, то есть буква занимает 2 байта. С Английским все норм.
0
|
18.07.2012, 09:08 | |
Ответы с готовыми решениями:
16
Широкие символы wchar_t wstring не хотят принимать русские символы ASCII коды переводит на русские буквы Перевести в ASCII код русские буквы Вывести на консоль русские буквы, используя ASCII-коды |
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
18.07.2012, 09:25 [ТС] | 2 |
Скорее всего закодировано под KOI8-R, но как этим воспользоваться?
0
|
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
19.07.2012, 21:40 [ТС] | 3 |
Если никто не знает, тогда киньте пожалуйста эту тему в "для экспертов". А то у меня нет "прав".
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
19.07.2012, 21:58 | 4 |
Вот тут похожая тема. UTF-8 - русские символы в char посимвольно
1
|
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
19.07.2012, 22:23 [ТС] | 5 |
alsav22, спасибо. За пару секунд до вашего сообщения при помощи http://www.artlebedev.ru/tools/decoder/ понял, что это UTF-8. Спасибо.
Добавлено через 9 минут Еще вопрос появился: А на что заменить input.getline(texty, 500), так как она не хочет работать с wchar_t
0
|
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
19.07.2012, 23:13 [ТС] | 7 |
Все равно не распознает тест, то есть получаю чуть другие кракозябры.
0
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
20.07.2012, 02:15 | 8 |
банально локаль ставить не пробывали?
Русские шрифты в консоли ПС: только дня 2 назад пытался скопировать в буфер обмена русский текст, в итоге часа мучений ничего не вышло*(
0
|
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
20.07.2012, 10:59 [ТС] | 9 |
OstapBender, конечно пробывал и не работает. Это мне просто мозг выносит(
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
20.07.2012, 20:22 | 10 |
Странный файлик. У меня с ним тоже ничего не получилось. Может его в отдельную тему вынести, без кода? Мол, есть файл, как его корректно вывести на консоль.
Добавлено через 3 часа 39 минут Если этот файл сохранить как ANSI, то потом он нормально выводится. Может кто знает, как в С++ через код это сделать?
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
|
20.07.2012, 20:52 | 11 |
посмотри в бинарном формате если через байт есть число 0х04 это Юникоде
а если нет то какая то кодировка если два байта то это действительно KOI8 но в кириллице есть и KOI8-U и KOI8-R Добавлено через 17 минут скачал файлик запустил в блокноте
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
20.07.2012, 20:57 | 12 |
Проблема в выводе на консоль. Вместо "быстро" иероглифы, и никак не получается исправить. Блокнот, при сохранении, показывет, что это UTF-8. Если сохранить как ANSI, то потом на консоль выводится без проблем. Как его в программе перекодировать?
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
|
20.07.2012, 21:01 | 13 |
оперой определил что это UTF-8
а это юникоде кастрированый Добавлено через 2 минуты покажи как выводишь и как конвертируешь? не всю программу а строки кода Добавлено через 53 секунды консоль работает в досовской кодировке необходимо конвертировать
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
20.07.2012, 21:12 | 14 | |||||
У тебя он нормально на консоль выводится? Как конвертировать я не знаю. Сохранил его в четырёх вариантах (какие блокнот позволяет) и вывожу через этот код:
0
|
199 / 199 / 78
Регистрация: 10.07.2012
Сообщений: 409
|
||||||
20.07.2012, 21:28 | 15 | |||||
2
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
21.07.2012, 00:13 | 16 |
Благодарю! Работает. Как сделать, чтобы до этого нормально выводились русские буквы? После, я попробовал, можно сделать, например, setlocale(0, ""); и вывод русских будет нормальный. А, до, как сделать?
И ещё вопрос. Такой код только для Windows? Добавлено через 2 часа 12 минут Получается так. Сначала setlocale(0, ".1251"); После MultiByteToWideChar(CP_UTF8, 0, buff, 500, wbuff, 500);, перед wcout << wbuff << endl;, так:wcout.imbue(locale("rus_rus.866")); или так: setlocale(0, "rus_rus.866");. Потом снова setlocale(0, ".1251");
1
|
1 / 1 / 0
Регистрация: 23.06.2012
Сообщений: 18
|
|
21.07.2012, 16:55 [ТС] | 17 |
Vort_, Спасибо огромное. А то я уже и не надеялся.
0
|
21.07.2012, 16:55 | |
21.07.2012, 16:55 | |
Помогаю со студенческими работами здесь
17
Ascii символы символы ascii Конвертер в символы ASCII Русские символы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |