Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Olej
2018-06-10 13:55:53
DT пише:

Вот такая беда в строке состояния на win 10). Как исправить?

Перейти на Linux big_smile

DT
2018-05-05 19:28:44

Спасибо, все ОК теперь)

LynX
2018-05-05 16:45:26

Выставь язык интерфейса английский.
149218141211520293.jpg

DT
2018-05-05 13:55:35

Вот такая беда в строке состояния на win 10). Как исправить? Кстати, на семерке все правильно отображается.

Bez-imeni.jpg

Olej
2018-03-21 21:21:28

В Linux, как всегда, всё гораздо проще и разнообразней по возможностям...
В конечном счёте, мы просто можем пользоваться консольными утилитами Linux без любых промежуточных приложений.
По крайней мере, это очень полезно для тестирования при непонятных нарушениях работоспособности!
И убеждаемся, что UTF-8 передаётся в оба конца без искажений.
file.php?id=2897&t=1
file.php?id=2898&t=1

Olej
2018-03-21 21:18:52

А кроме того, в качестве монитора сериального порта можно использовать ещё одни штатный монитор сериального порта (утилиту), во всех существующих операционных системах, допускающий настройку отображения во всех мыслимых в природе кодировках - это Putty, столь глубоко любимая в Windows.
file.php?id=2894

Olej
2018-03-21 21:15:14
Olej пише:

Эти искажённые символы проявляются как в версии 1.6.1 и 1.8.1
Это глюк именно Arduino IDE.

А в 1.8.5 всё работает корректно.
file.php?id=2896&t=1

Olej
2018-03-21 21:11:21
Olej пише:

2. Обмен по вводу-выводу через Serial

Обмен через Serial (USB) в Arduino кода UTF-8 корректно шёл всегда.
А вот отображение кодов UTF-8 в мониторе порта Ardoino IDE до самого последнего времени глючило ... что-то, наверное, связанное с задержками поступления байт.
Выглядит это так:
file.php?id=2891
Эти искажённые символы проявляются как в версии 1.6.1 и 1.8.1
Это глюк именно Arduino IDE.
(3 строки там потому, что считанную с Serial строку скетч ретранслирует обратно в Serial 3-мя разными способами)

Olej
2018-03-21 10:08:42
andriano пише:

Для AVR - LE.

Что это было, папа? roll

andriano
2018-03-20 23:24:56

Для AVR - LE.

Olej
2018-03-14 18:35:05
Olej пише:

UNICODE - это чисто теоретическая таблица, присвоение кодов символов самым замысловатым языкам ... например, музыкальным нотам. Код UNICODE - всегда 4 байта. Но нигде, ни в одном языке и ОС в таком виде не используется ... не для того предназначается.

UTF-32 - способ кодирования UNICODE значений, каждый символ кодируется как uint32_t.

UTF-16 - способ кодирования UNICODE значений,  каждый символ кодируется uint16_t. Это то, как UNICODE понимается в Windows - сдостаточно старый способ представления UNICODE.

UTF-8 - способ кодирования UNICODE значений последовательностью байт переменной длины (это очень важно!) - каждый символ (код UNICODE) представляется как последовательность байт длиной от 1 до 6 (первоначально) байт ... позже, в угоду совместимости с Windows в стандарте было решено не использовать 5 и 6 байтные последовательности (но многим POSIX-ОС это не указ) - это новая кодировка UNICODE, первоначально придуманая авторами UNIX для операционной системы Plan 9 (~2004г.).

Здесь есть ещё один аспект, который я сразу забыл отметить - связанный с порядком байт в компьютере: BE или LE (big-endian или little-endian) - какой байт в 16 или 32 бит int считается младшим (в порядке адресации байт). Это очень важно при обменах: обменах между процессорами разных архитектур, сетевых обменах TCP/IP и т.д.

BE: IBM 360/370/390, Motorola 68000, SPARC ... + все сетевые обмены всех протоколов TCP/IP
LE: Intel x86, USB, конфигурация PCI, таблица разделов GUID (для идентификации дисков и др. целей)
Кстати ... я не знаю BE/LE относительно процессоров AVR, на которых собраны Arduino?

Поэтому и кодировки UTF-16 тут же развалились на 2 новых: UTF-16LE (это Windows wchar_t, как я понимаю) и UTF-16BE.

А относительно UTF-8 ещё можно дополнить:
- для UTF-8 нет проблемы порядка байт ... в том числе и при сетевых обменах;
- UTF-8 - самосинхронизирующийся код: при обрыве потока текста в любом месте, после его восстановления легко восстанавливается начало очередного символа (по формату 1-го байта).

Olej
2018-03-14 17:02:14
Green пише:

Ардуино IDE и КА у заказчика. Какие варианты? Что то поменяется - буду только рад.)

Не ... ну, если "бабло молотим" - так только на пользу ... и флаг в руки: "сто старушек - сто рублей!"
Но вот если для себя делать, и что-то посложнее чем простейший управляющий контроллер (это тоже имеет право быть, но сейчас о другом ... например об обмене с хост-компьютером через Serial) - то всё становится совершенно не так весело.

Green
2018-03-14 16:16:02

Ардуино IDE и КА у заказчика. Какие варианты? Что то поменяется - буду только рад.)

Olej
2018-03-14 15:55:52
Green пише:
Olej пише:

Если кто-то сталкивался с проявлениями этих проблем - поделитесь.
А я поделюсь то, что от себя знаю.

Нужно было выводить кириллицу в кассовый аппарат. Дабы было всё красиво, написал перекодировщик UTF-8 в CP-866. Проблем не было.)

Вот об этой глупости ... фиче, простите, я и говорю: когда каждый сам для себя пишет перекодировщик... : на каждый чих и на каждую кодовую таблицу - пишем свой перекодировщик.
Только при смене операционной системы (Windows на Linux, или наоборот) или модели оконечного устройства (другой "кассовый аппарат") - всё это посыпется!

Green
2018-03-14 15:49:39
Olej пише:

Если кто-то сталкивался с проявлениями этих проблем - поделитесь.
А я поделюсь то, что от себя знаю.

Нужно было выводить кириллицу в кассовый аппарат. Дабы было всё красиво, написал перекодировщик UTF-8 в CP-866. Проблем не было.)

Підвал форуму