wchar_t в char и обратно.
- Войдите на сайт для отправки комментариев
Вс, 14/02/2016 - 18:53
подскажите что представляет из себя wchar_t
склько он в памяти занимает?
как преобразовать wchar_t в char?
подскажите что представляет из себя wchar_t
склько он в памяти занимает?
как преобразовать wchar_t в char?
похоже оно двубайтное как инт... т.е. можно запихнуть как в инт...?
Это специальный тип для отображения символов национальных алфавитов. Оно Вам надо?
wchar_t - это двухбайтовый символ юникода. Преобразование двухбайтовой величины в однобайтовую без потери информации невозможно. Обычно для такого преобразования нужен дополнительный параметр - номер кодовой таблице. И, естественно, никаких гарантий, что в данной кодовой таблице окажется символ, соответствующий исходному юникодному символу.
И еще, для полнорценного преобразования между юникодом и однобайтовыми кодировками в общем случае у Ардуино просто не хватит памяти. Даже у Мега 2560.
Это специальный тип для отображения символов национальных алфавитов. Оно Вам надо?
Спрашиваю, значит надо.
wchar_t - это двухбайтовый символ юникода. Преобразование двухбайтовой величины в однобайтовую без потери информации невозможно. Обычно для такого преобразования нужен дополнительный параметр - номер кодовой таблице. И, естественно, никаких гарантий, что в данной кодовой таблице окажется символ, соответствующий исходному юникодному символу.
И еще, для полнорценного преобразования между юникодом и однобайтовыми кодировками в общем случае у Ардуино просто не хватит памяти. Даже у Мега 2560.
программа, выполняя вычисления получает , к примеру char A[]={"дуина:"};
они на русском. есть библиотека вывода на lcd1602 русского, ей надо скормить wchar_t:
lcd.print(L"дуина:"); напрямую подставить значение не могу, оно получается путем вычислений.
вот и возникла мысль перевести из char в wchar_t, ну и обратно (естественно в 2 байта, чтоб не потерялась инфа).
то есть, раз 2-байтное надо как с интом, понял (мысли в слух), а что будет с ":" оно ведь однобайтное, или старший нулями забивать?
благодарю всех. сделал все на русском.
благодарю всех. сделал все на русском.
Делитесь с сообществом.