Официальный сайт компании Arduino по адресу arduino.cc
Нераспознается русский текст
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 03/11/2020 - 21:07
Столкнулся с какой-то странностью. Если текст на латинице ввожу, то он читается правильно. Количество символов имею ввиду, а русский, каждая буква за 2 считается.
Вот самый простой скрипт:
String K = "Баба"; Serial.print(K);Serial.println(K.length());
Длину выдает 8 символов!
А почему вы не в песочнице ?
Длину выдает 8 символов!
так и должно быть. это ж "БАБА"
Рекомендую что нибудь почитать про кодировке.
В частности про UTF-8
Не могу, глаза режет... Я сам не грамотный , но.... ПРО кодировкИ , но О кодировкЕ :)
Именительный, родительный , дательный , винительный, предложный ;) А еще творительный !
Не могу, глаза режет... Я сам не грамотный , но.... ПРО кодировкИ , но О кодировкЕ :)
Именительный, родительный , дательный , винительный, предложный ;) А еще творительный !
Автоисправление, порой и не такое откаблучивает.
Столкнулся с какой-то странностью. Если текст на латинице ввожу, то он читается правильно. Количество символов имею ввиду, а русский, каждая буква за 2 считается.
Вот самый простой скрипт:
Длину выдает 8 символов!
В Си/Си++ нет типа данных напрямую соответствующих символу в кодировке переменной длины. А в utf-8 один символ может занимать от 1 до 6 байтов.
помИнительный, безРодительный, преДательный, обВинительный,преТворительный и Предложный.
ПС: Xomyc, вот ответьте :почему в автомобиле есть задняя скорость, а заднего руля нет?? Как без него задом ехать.
Ну отцы старожилы спасибо! Мордой в грязь макнули, место указали. Так сказать все формальности соблюдены, захожие глупые начинающие посрамлены. Собственно такое чуть не в каждой теме наблюдается. А конфетку? Про UTF-8 и 2 байта на символ сам уже нашел и много чего. Вот только из решения только самописные процедуры. Неужели ничего стандартного нет? У Adafruit-GFX нашел процедурку, которая правильно считает дину строки. Но пока не пойму как с этим поиграть.
Ну отцы старожилы спасибо! Мордой в грязь макнули, место указали.
Как говорится, каков вопрос, таков и ответ.
Вопроса-то не было. Вот конфетка:
Но эта конфетка только для русского, а есть еще много других языков.
Для всех языков.
Для всех языков.
#g++ test.c
#a.exe
5
Да, китайского я не знаю, но с ходу подобрать контрпример мне не удалось.
Хоть смайлики c обезъянками считайте, хоть тайский, хоть какой, хоть смиксуйте все языки в строке, стартовые биты продолжения будут те же.
Звиняйте, что я тут подаю голос. Пишет error: 'count' is not a member of 'std' (ну или cout как у вас написано). (и тут же спрятался обратно под тапок)
А сможете объяснить, оно вам зачем ?
Отсутствие setup(), loop() в исходнике вообще не смущает?
А сможете объяснить, оно вам зачем ?
Если вопрос ко мне, то я делаю эдакие часы, метеостанцию из 4 светодиодных матриц 16х16 на стену.Можно конечно плюнуть и выводить по аглицки. Но тогда все просто будет. А хочется помучацца.
Звиняйте, что я тут подаю голос. Пишет error: 'count' is not a member of 'std' (ну или cout как у вас написано). (и тут же спрятался обратно под тапок)
Правильно пишет.
В оригинале "cout"
А сможете объяснить, оно вам зачем ?
Если вопрос ко мне, то я делаю эдакие часы, метеостанцию из 4 светодиодных матриц 16х16 на стену.Можно конечно плюнуть и выводить по аглицки. Но тогда все просто будет. А хочется помучацца.
А у меня вопрос - насколько сильно вы мучаетесь? А по времени - сколько минут мучались? Кто заставляет вас мучаться? Какие мысли возникают в процессе мучений? Каждый, кто мучался с Вами, получит по экземпляру часов?
Вопросы задаю в рамках иследования на тему "Социальные группы форума Arduino.ru и проблемы их взаимоотношений".
Аха, вот я вас и раскрыл по нику :) sad-man не только грустный, но и маркиз Альфонс Франсуа :)))))
Звиняйте, что я тут подаю голос. Пишет error: 'count' is not a member of 'std' (ну или cout как у вас написано). (и тут же спрятался обратно под тапок)
Ну это не принципиально. Пишет:
error: 'cout' is not a member of 'std' Ну т.е. не работает.
Хоть смайлики c обезъянками считайте, хоть тайский, хоть какой, хоть смиксуйте все языки в строке, стартовые биты продолжения будут те же.
Я вот уже много лет работаю с utf-8 (причем, на мой взгляд, вполне успешно), но досконально разобраться, какие битики что означают, так и не удосужился.
Звиняйте, что я тут подаю голос. Пишет error: 'count' is not a member of 'std' (ну или cout как у вас написано). (и тут же спрятался обратно под тапок)
Ну это не принципиально. Пишет:
error: 'cout' is not a member of 'std' Ну т.е. не работает.
Вот вариант без cout:
Тут видимо идет речь о выравнивании текста на дисплее. Все вменяемые библиотеки обязаны рассказать какого размера в пикселях или попугаях будет фраза выеденная на экран. Так что ТС идет не тем путем.