Всем привет! Не могу заставить работать перекодировки из UTF-8 в Windows1251. Не выдает результат как не бился...
Что то не так делаю, может принцип сам не понимаю перекодировки. Кто подскажет более свежим опытным взглядом?
[uquote="Dimon456",url="/forum/viewtopic.php?p=4096366#p4096366"]А чем UTF-8 от Windows1251 отличается?[/uquote]
Кирилица 2 байтовая к примеру буква русская "А" - 0xD0, 0х90, далее
с русской "р" - 0хD1,0х80. На выходе представлленым вами, получается в массив не положил перекодированную строку?
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 09:14:43
Dimon456
neid писал(а):получается в массив не положил перекодированную строку?
А какую он положил строку? И для чего вам эта перекодировка?
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 10:03:16
neid
На вопрос для чего для начала проверить его работу перед применение где либо.
Далее для начала написал код для перекодирования, чтобы кириллица полностью отображалась...
В том то и дело что, это соответствует win1251, но вывода почему то нет даже просто в терминале... возможно надо добавить 1 байт инфы, т.е. 0xD0 или 0xD1. Если взять строку "ABCDE", она полностью отображается в терминале
Да удивительно, как некоторые, заморачиваются давно решенными вопросами.
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 13:23:11
musor
кодировох дохрена разных... вапрос с юником тоже решен
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 13:51:46
neid
[uquote="Dimon456",url="/forum/viewtopic.php?p=4096442#p4096442"]Не надо ни чего добавлять и кодировать, не изобретайте "велосипед"[/uquote]
Спасибо за ликбез! Я же говорю дальше применять, есть в проекте библиотека шрифта font6x8.c, в которой прописаны все символы по 255("я"), ну и вывод же конечно предпринимается не в терминал а на экран тв по av входу. Аля TVout от ардуино. Вот для чего мне перекодировка. Точнее все уже сделано, и выводить по символьно русский символы я могу, float, и т. д. ... Хочется русский текст вот и изучаю эту тему.
К примеру TV. print(0,12,"Я балбес!")
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 14:29:26
Dimon456
Ну вот, а мы то думали, с терминалом проблема, а оно оказывается как
neid писал(а):Аля TVout от ардуино
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 15:51:17
neid
Dimon456, что за сарказм?думать за других впереди паровоза вы умеете, я уже прочуствовал не в одной теме)) Мысли то есть по поводу кода? Да и как бы написал что буду применять его потом, как еще опять не так выразился))
толи я торможу толи непонятно как ты проверяешь/пропускаешь левый байт пар, получаяя указатель на unsigned char тоесть 1 байт на индекс.
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 16:59:37
Dimon456
Dimon456 писал(а):И для чего вам эта перекодировка?
neid писал(а): но вывода почему то нет даже просто в терминале...
neid писал(а):Аля TVout от ардуино.
Причем тут терминал и TVout?, конкретнее бы выражался и сарказма бы не было.
А для TVout от ардуино есть соответствующая тема -> Arduino
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 17:53:02
Starichok51
а у меня есть вопросы:
1. а как в МК попала UTF-8?
2. а почему нельзя было сразу в МК засунуть Windows1251?
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 18:03:38
astrahard
UTF международный стандарт. Как я уже говорил, пора бы уже переработать периферию микроконтроллеров.
Например UART родился из ASCI, пора родить периферию под UTF. Обязательно с поддержкой OLE.
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 18:35:49
neid
[uquote="Dimon456",url="/forum/viewtopic.php?p=4096588#p4096588"]конкретнее бы выражался и сарказма бы не было.
А для TVout от ардуино есть соответствующая тема -> Arduino[/uquote]
А отладить код через терминал нельзя, когда перекодируется хотя бы один символ, потом проверил все символы, делалось так, это о терминале...
Ну я же сказал аля tvout, пишу я то я в студии, я свой ребята, пустите!)))
Dimon456, чет я туго соображаю, не понял твой ответ. или непонял вопрос тс. я понял так что нужно получить массив смещений для фонта упакованного для 1251. тогда нужно отбросить префикс баайты вроде 0xD0 0xD1 и преобразовать изначащий байт под 1251. (это впоследствии позволит делать font[c] тоесть умножить на размер обьекта, добавить указатель начала и получить указатель на растр или что там за фонт.)
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 19:25:46
neid
[uquote="AlexS4",url="/forum/viewtopic.php?p=4096640#p4096640"]или непонял вопрос тс. я понял так что нужно получить массив смещений для фонта упакованного для 1251. тогда нужно отбросить префикс баайты вроде 0xD0 0xD1 и преобразовать изначащий байт под 1251. (это впоследствии позволит делать font[c] тоесть умножить на размер обьекта, добавить указатель начала и получить указатель на растр или что там за фонт.)[/uquote]
Выложу библиотеку шрифта! Уже говорил что вывод на экран успешен, если по символам выводить.
Re: перекодировки с UTF-8 в Windows1251
Добавлено: Сб сен 25, 2021 19:42:14
Dimon456
AlexS4, ни что не надо преобразовывать, это neid мозги парит себе и людям, надо просто посмотреть как выводится строка в этом самом TVout от ардуино.
Судя по font6x8.cpp буковки от А до я стоят на своих местах.
Откуда он взял и для чего D0 D1 - загадка.
Мне лень эту среду устанавливать с ее библиотеками, если он полностью проект выложит - может тогда еще гляну. А так пусть пишет в соответствующий раздел форума.