UTF8->UTF16 и обратно
- Войдите на сайт для отправки комментариев
Всем привет.
1 . Я пытаюсь читать файл *.txt (кодировка UTF8) с sd карточки в строку и преобразовать ее в UTF16(UCS2). Есть идеи как это сделать? Возможно ли это? Гуглил несколько дней и что только не пытался сделать, но не получается))) Язык в файле русский и английский.
Я нашел несколько методов из C/C++, например: iconv , MultiByteToChar , mbstowcs , swprintf, с помощью методов типа wstring , но ардуина ни в какую не хочет понимать их... Возможно ли импортировать библиотеку iconv или какую-нибудь другую для того, чтобы выполнить преобразование? Девайс: Arduino Mega2560
2 . Какие библиотеки, методы , типы доступны в Arduino IDE , но не документированы в референсе на arduino.cc? Я нашел только референсы на wiring и processing, но там ничего нужного не нашел(может плохо искал?). Я видел много типов и методов , которые отсутствуют в референсе на arduino.cc, wiring, processing... Почему?
3 . Кто-нибудь работал с HaikuVM? Что вы можете сказать об этом? Попытался сделать с ним что-нибудь, но он не компилит демо проект и вылетает с ошибками...
4 . Я буду благодарен за, пояснения/ссылки, как преобразовать с помощью бинарных операций, но в приоритете я хочу найти более простой способ))
5. Возможно ли импортировать c/c++ библиотеки? На каком языке они должны быть написаны, чтобы ардуина приняла их?
Понимаю, что очень много вопросов, но, пожалуйста не шлите в гугл/яндекс, а ответьте хотя бы ссылками
Когда я сталкнулся с тем что в Arduino это сложно...
Вот тут совсем ничего не понятно : https://github.com/nehalem9001/utf8toutf16
Но учитывая http://www.fileformat.info/info/charset/UTF-16/list.htm таблицу - чтобы перекодировать UTF-8 в UTF-16 обычные таблицы достаточно добавить 2 байта("\xfe\xff") через каждые 2 байта начиная с начала. Чтобы обратно - UTF-16 в UTF-8 - убрать эти байты "\xfe\xff", повторяющиеся через 2 байта.
Вроде все просто.
Когда я сталкнулся с тем что в Arduino это сложно...
Вот тут совсем ничего не понятно : https://github.com/nehalem9001/utf8toutf16
Но учитывая http://www.fileformat.info/info/charset/UTF-16/list.htm таблицу - чтобы перекодировать UTF-8 в UTF-16 обычные таблицы достаточно добавить 2 байта("\xfe\xff") через каждые 2 байта начиная с начала. Чтобы обратно - UTF-16 в UTF-8 - убрать эти байты "\xfe\xff", повторяющиеся через 2 байта.
Вроде все просто.
Огромное спасибо!!! Буду пробовать! Как будут результаты, отпишусь. Что-нибудь по поводу других вопросов есть?
Когда я сталкнулся с тем что в Arduino это сложно...
Вот тут совсем ничего не понятно : https://github.com/nehalem9001/utf8toutf16
Но учитывая http://www.fileformat.info/info/charset/UTF-16/list.htm таблицу - чтобы перекодировать UTF-8 в UTF-16 обычные таблицы достаточно добавить 2 байта("\xfe\xff") через каждые 2 байта начиная с начала. Чтобы обратно - UTF-16 в UTF-8 - убрать эти байты "\xfe\xff", повторяющиеся через 2 байта.
Вроде все просто.
Огромное спасибо!!! Буду пробовать! Как будут результаты, отпишусь. Что-нибудь по поводу других вопросов есть?