0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
1 | |
Транслятор русских букв в английские05.01.2016, 04:27. Просмотров 5105. Ответов 31
Метки нет Все метки)
(
Здравствуйте.
в общем хочу сделать что бы русские буквы воводились на дешевых 1602 подобных ЛСД дисплеях но проблема в том, что он понимает только байтовые символы, а русские буквы кодируются 2-мя байтами смысл хочу русские буквы передать переменной string там преобрзовать и опять отдать обратно в отдобайтовом виде char но проблема в том, что не могу передать переменную string в функцию вот сама тема с кодом. если у кого есть варианты буду ждать Не могу добавить переменную String в функцию
0
|
|
05.01.2016, 04:27 | |
Из русских букв в английские
Изменение имя учетной записи (с русских букв на английские) Корректное считывание строк из файла вне зависимости от кодировки и замена в них русских букв на английские
__________________
31
Помогаю в написании студенческих работ здесь. |
|
954 / 583 / 97
Регистрация: 15.05.2012
Сообщений: 3,426
|
|
05.01.2016, 07:29 | 2 |
С финты ли 2-мя? Посмотрите в конец таблицы ASCII. Хотя, конечно, может быть это ваша программа оперирует какой-то своей кодировкой. Может стоит тогда перейти на то, чем пользуются все?
1
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
05.01.2016, 10:55 [ТС] | 3 |
pyzhman, все символы до 127 записываются одним байтом, все что выше двумя (это в части микроконтроллеров АВР)
если вы не согласны жду конкретный код
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,177
|
|
05.01.2016, 14:00 | 4 |
Зависит от конкретного дисплэя. Таблицы символов у них жестко вшиты, а потому работает он строго в своей кодировке. Надо либо искать таблицу кодов под вашего дисплея, попробовать прогнать на дисплее все коды от 0 до 255, чтобы посмотреть, какие он реально умеет выводить.
Кроме того, обычно эти экранчики умеют выводить некоторое количество пользовательских символов. То есть, если вам нужно не слишком много русских букв, вы можете их просто ручками нарисовать. С русскими символами всегда так. Каждый реализует их во что горазд. Но, опять же, убедитесь сперва, что ваш дисплей знает кирилицу.
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
05.01.2016, 14:10 [ТС] | 5 |
Mirmik, дисплей их не знает вообще, если бы знал проблем бы не было
компилятор все понимает в ASCII и это начало UTF-8 где первые 127 символов кодируются одним байтом, дальше двумя тогда другой вопрос не могу передать unsigned char функции, компилятор ругается, что посоветуете???
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,177
|
|
05.01.2016, 14:15 | 6 |
Хм... Так что вы пытаетесь сделать, если у вас дисплей не понимает кирилицу. Я не совсем улавливаю суть замысла....
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
05.01.2016, 14:37 [ТС] | 7 |
Mirmik, ну к примеру русскую букву А можно заменить английской. а так символов которых нет можно дорисовать
основная масса LSD 1602 и на HD44780-совместимых имеют английский и китайский, а с кирилицей дифицит и стоят в 3-5 раза дороже Добавлено через 4 минуты http://asis-kbr.ru/forum/viewtopic.php?p=168 вот интересная тема попробую сделать по ее принципу
0
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,177
|
||||||
05.01.2016, 14:58 | 8 | |||||
Я тоже так делал, как написано в этой теме. Возможно, это лучший вариант. У меня где-то даже библиотека символов осталась.
Но, если вы всё-таки хотите обучить контроллер транслиту, это можно сделать так:
1
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
||||||
06.01.2016, 04:08 [ТС] | 9 | |||||
Mirmik, я хочу сделать немного другое
если вы напишете АБВГАЕЁЖЗ, то и на экране будет тоже самое Добавлено через 12 часов 59 минут еще вопрос, в такой вариации все работает, а вот если char dlina = 'A'; заменю на char dlina[10] = "Hello World!"'; то компилятор дает ошибку
0
|
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
|
|
06.01.2016, 10:01 | 10 |
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
06.01.2016, 10:04 [ТС] | 11 |
Витальич, пожалуйста
warning: address of local variable 'dlina' returned [-Wreturn-local-addr] char dlina[] = "Hello,World! ";
0
|
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
|
|
06.01.2016, 10:13 | 12 |
return dlina;
не может вернуть массив Можно вернуть указатель на массив, но это переделка всего кода.
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
06.01.2016, 10:19 [ТС] | 13 |
Витальич,
подскажите как правильно, а то я могу передать функции массив char[], а вот вернуть не могу, ни char ни string и массив символов string кстати тоже не получилось передать функции
0
|
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
|
|
06.01.2016, 10:25 | 14 |
пост №8 функция void russtring_2b_2_1b(const wchar_t* src, char* dst, int len)
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
06.01.2016, 10:32 [ТС] | 15 |
Витальич, в этом посте функция ни чего не возвращает, а мне нужно символьный массив char[]
0
|
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
|
|
06.01.2016, 10:47 | 16 |
char* dst - а это что? Это возвращаемое значение.
Давайте так, изучите азы СИ, углубленно не надо, но что как пишется (нотация) и как что работает.
0
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
06.01.2016, 10:52 [ТС] | 17 |
Витальич, я как раз книгу читаю тут на форуме посоветовали Прата автор, но как я понял что в скобках это то, что мы передаем в функцию, а тип результата void, т.е. его нет, а char* dst это второй параметр который передаем в функцию, причем если я все правильно понимаю то переменная char* dst видна только внутри массива void russtring_2b_2_1b
0
|
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
|
||||||
06.01.2016, 11:10 | 18 | |||||
Массив: char arr[10]; К нему можно обращаться через индекс arr[0] - первое значение, arr[1] второе значение, а можно обращаться через указатель *arr - первое значение *(arr + 1) - второе значение. * - в данном контексте означает разименования значения, другими словами получения доступа к значению .
1
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
06.01.2016, 11:14 [ТС] | 19 |
все понял спасибо (видать до этого не дошел, т.к. больше 1к страниц), но принцип понятен
0
|
Модератор
![]() 8364 / 6210 / 834
Регистрация: 14.02.2011
Сообщений: 21,573
|
|||||||||||
06.01.2016, 11:19 | 20 | ||||||||||
а если а вот так
можно вот так, если строка не будет менятся
0
|
06.01.2016, 11:19 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Замена русских символов на английские Английские использует как сделать еще использование русских?
Дан текст из строчных русских букв. Подсчитать количество гласных букв в тексте Перевод русских букв на латиницу и подсчёт количества букв Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |