|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
Транслятор русских букв в английские05.01.2016, 04:27. Показов 8437. Ответов 31
Метки нет (Все метки)
Здравствуйте.
в общем хочу сделать что бы русские буквы воводились на дешевых 1602 подобных ЛСД дисплеях но проблема в том, что он понимает только байтовые символы, а русские буквы кодируются 2-мя байтами смысл хочу русские буквы передать переменной string там преобрзовать и опять отдать обратно в отдобайтовом виде char но проблема в том, что не могу передать переменную string в функцию вот сама тема с кодом. если у кого есть варианты буду ждать Не могу добавить переменную String в функцию
0
|
|
| 05.01.2016, 04:27 | |
|
Ответы с готовыми решениями:
31
Из русских букв в английские
Изменение имя учетной записи (с русских букв на английские) |
|
1184 / 672 / 113
Регистрация: 15.05.2012
Сообщений: 4,085
|
|
| 05.01.2016, 07:29 | |
|
С финты ли 2-мя? Посмотрите в конец таблицы ASCII. Хотя, конечно, может быть это ваша программа оперирует какой-то своей кодировкой. Может стоит тогда перейти на то, чем пользуются все?
1
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 05.01.2016, 10:55 [ТС] | |
|
pyzhman, все символы до 127 записываются одним байтом, все что выше двумя (это в части микроконтроллеров АВР)
если вы не согласны жду конкретный код
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
||
| 05.01.2016, 14:00 | ||
|
Зависит от конкретного дисплэя. Таблицы символов у них жестко вшиты, а потому работает он строго в своей кодировке. Надо либо искать таблицу кодов под вашего дисплея, попробовать прогнать на дисплее все коды от 0 до 255, чтобы посмотреть, какие он реально умеет выводить.
Кроме того, обычно эти экранчики умеют выводить некоторое количество пользовательских символов. То есть, если вам нужно не слишком много русских букв, вы можете их просто ручками нарисовать.
С русскими символами всегда так. Каждый реализует их во что горазд. Но, опять же, убедитесь сперва, что ваш дисплей знает кирилицу.
0
|
||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 05.01.2016, 14:10 [ТС] | |
|
Mirmik, дисплей их не знает вообще, если бы знал проблем бы не было
компилятор все понимает в ASCII и это начало UTF-8 где первые 127 символов кодируются одним байтом, дальше двумя тогда другой вопрос не могу передать unsigned char функции, компилятор ругается, что посоветуете???
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 05.01.2016, 14:15 | |
|
Хм... Так что вы пытаетесь сделать, если у вас дисплей не понимает кирилицу. Я не совсем улавливаю суть замысла....
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 05.01.2016, 14:37 [ТС] | |
|
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,180
|
||||||
| 05.01.2016, 14:58 | ||||||
|
Я тоже так делал, как написано в этой теме. Возможно, это лучший вариант. У меня где-то даже библиотека символов осталась.
Но, если вы всё-таки хотите обучить контроллер транслиту, это можно сделать так:
1
|
||||||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
||||||
| 06.01.2016, 04:08 [ТС] | ||||||
|
Mirmik, я хочу сделать немного другое
если вы напишете АБВГАЕЁЖЗ, то и на экране будет тоже самое Добавлено через 12 часов 59 минут еще вопрос, в такой вариации все работает, а вот если char dlina = 'A'; заменю на char dlina[10] = "Hello World!"'; то компилятор дает ошибку
0
|
||||||
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 06.01.2016, 10:01 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 06.01.2016, 10:04 [ТС] | |
|
Витальич, пожалуйста
warning: address of local variable 'dlina' returned [-Wreturn-local-addr] char dlina[] = "Hello,World! ";
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 06.01.2016, 10:13 | |
|
return dlina;
не может вернуть массив Можно вернуть указатель на массив, но это переделка всего кода.
0
|
|
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 06.01.2016, 10:19 [ТС] | |
|
Витальич,
подскажите как правильно, а то я могу передать функции массив char[], а вот вернуть не могу, ни char ни string и массив символов string кстати тоже не получилось передать функции
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|
| 06.01.2016, 10:25 | |
|
пост №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 [ТС] | |
|
Витальич, в этом посте функция ни чего не возвращает, а мне нужно символьный массив char[]
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
|||
| 06.01.2016, 10:47 | |||
|
Давайте так, изучите азы СИ, углубленно не надо, но что как пишется (нотация) и как что работает.
0
|
|||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 06.01.2016, 10:52 [ТС] | |
|
Витальич, я как раз книгу читаю тут на форуме посоветовали Прата автор, но как я понял что в скобках это то, что мы передаем в функцию, а тип результата void, т.е. его нет, а char* dst это второй параметр который передаем в функцию, причем если я все правильно понимаю то переменная char* dst видна только внутри массива void russtring_2b_2_1b
0
|
|
|
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
|
||||||
| 06.01.2016, 11:10 | ||||||
Массив: char arr[10]; К нему можно обращаться через индекс arr[0] - первое значение, arr[1] второе значение, а можно обращаться через указатель *arr - первое значение *(arr + 1) - второе значение. * - в данном контексте означает разименования значения, другими словами получения доступа к значению .
1
|
||||||
|
0 / 0 / 0
Регистрация: 22.12.2015
Сообщений: 47
|
|
| 06.01.2016, 11:14 [ТС] | |
|
все понял спасибо (видать до этого не дошел, т.к. больше 1к страниц), но принцип понятен
0
|
|
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
|||||||||||||
| 06.01.2016, 11:19 | |||||||||||||
0
|
|||||||||||||
| 06.01.2016, 11:19 | |
|
Помогаю со студенческими работами здесь
20
Корректное считывание строк из файла вне зависимости от кодировки и замена в них русских букв на английские
Замена русских символов на английские Английские использует как сделать еще использование русских?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|