русский язык и arduino как заставить работать?

c0d3r
Offline
Зарегистрирован: 09.01.2016

Вопрос как это заставить работать в arduino? Судя по всему с поддержкой utf 8 у arduino мягко говоря все плохо...

char tst[]="Б"
switch (tst[0])
{
   case 'Б': Serial.print("Ok!"); break;
}

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

"Поддержку utf" делает программист, а не среда.

В utf "Б" никак не может быть char.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Проблемы не у Ардуино, а у Вас с пониманием типов. char - знаковый байт, а Вам нужен беззнаковый. Опишите Ваши константы как следует и будет море счастья:

void setup() {
	Serial.begin(115200);
	byte tst[1] = { 'Б' };
	switch (tst[0]) {
	   case (byte)'Б': Serial.println("Ok!");
	}
}

void loop() {}

 

c0d3r
Offline
Зарегистрирован: 09.01.2016

мда, спасибо... буду знать...

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Microsoft пишет, что char имеет размер примерно байт. Ссылку щас не найду, но такое видел. Впрочем, это все так, философия. Не для дискуссии.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

kisoft пишет:
Microsoft пишет, что char имеет размер примерно байт. Ссылку щас не найду, но такое видел. Впрочем, это все так, философия. Не для дискуссии.

а, что говорит Apple?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

а русские буквы занимают по 2 байта - потому что юникод. А первый байт в юникоде это номер таблицы. И какой из 2 байт запишется в итоге в переменную если она один байт?

Если бы можно было выбирать кодировку ... (я даже разработчикам среды писал, но они юзают латыницу и им наплевать на наши проблемы)

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Клапауций 322 пишет:

kisoft пишет:
Microsoft пишет, что char имеет размер примерно байт. Ссылку щас не найду, но такое видел. Впрочем, это все так, философия. Не для дискуссии.

а, что говорит Apple?


Мы, в большинстве, на Windows, зачем нам яблочники?

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

kisoft пишет:
Клапауций 322 пишет:

kisoft пишет:
Microsoft пишет, что char имеет размер примерно байт. Ссылку щас не найду, но такое видел. Впрочем, это все так, философия. Не для дискуссии.

а, что говорит Apple?

Мы, в большинстве, на Windows, зачем нам яблочники?

точно - у майкрософт свои уникальные стандарты char.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Мне сложно судить, я просто запомнил такой факт и ничего больше. Никакого подстрочника.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

kisoft пишет:
Microsoft пишет, что char имеет размер примерно байт.
Серьёзно?!? :))))

Блин! Специально не ищите, конечно, но если вдруг подвернётся ссылка, киньте пожалуйста (хоть в эту же тему, на неё подписан).