Saya ingin membeli layar LCD dari Arduino untuk menampilkan beberapa hasil dari panggilan http web; API Web mengembalikan teks JSON yang disandikan dalam UTF-8.
Saya telah membaca bahwa ICU adalah cara untuk menangani Unicode dalam program C / C ++ untuk Arduino.
Pertanyaan saya:
Apakah saya dapat menampilkan karakter UTF-8 ke layar seperti ini ?
Apakah ada layar LCD karakter (terjangkau) yang dapat menampilkan karakter UTF-8?
Jawaban:
Saya tidak begitu akrab dengan Arduino, tapi mari kita melihatnya dari perspektif LCD.
Hampir semua LCD karakter populer menggunakan pengontrol HD44780 hari ini (itulah yang didukung oleh perpustakaan LiquidCrystal ). Pengontrol ini tidak mendukung UTF-8 secara langsung, setiap karakter diwakili oleh satu byte.
Dengan demikian Anda perlu mengkonversi karakter UTF-8 ke 8-bit secara manual. Pengontrol memiliki generator karakter bawaan dengan 208 5x8 dan 32 5x10 karakter, ditambah hingga 8 karakter yang ditentukan pengguna (lihat createChar ). Anda perlu memetakan setiap karakter input ke salah satu karakter yang telah ditentukan / kustom - jelas Anda hanya dapat menampilkan subset karakter UTF8, Anda harus memutuskan karakter mana yang Anda inginkan / dapat tampilkan.
Konversi itu sendiri harus sangat mudah - Anda hanya perlu beralih di atas string UTF8, memetakan setiap karakter ke satu byte. Kemungkinan besar Anda ingin menggunakan tabel pencarian agar tetap sederhana. Beritahu saya jika ini perlu penjelasan lebih lanjut.
sumber
Unicode itu rumit dan besar, secara keseluruhan itu terlalu besar untuk Arduino. Dalam versi saat ini ada total lebih dari 100.000 karakter, termasuk huruf paku, hieroglif, Klingon, dan belum lagi ribuan karakter Cina.
Jadi, jika Anda benar-benar ingin menunjukkan beberapa karakter Unicode pada Arduino:
Dapatkan tampilan grafik. Yang Anda sebutkan adalah tampilan karakter, itu hanya dapat menampilkan sebagian besar set tetap 256 karakter.
Tetapkan sebagian kecil karakter yang ingin Anda tangani. Ada beberapa himpunan bagian yang telah ditetapkan, misalnya Himpunan Bahasa Eropa Multibahasa terlihat bagus.
Dapatkan beberapa font dan strip ke set yang Anda butuhkan. Perhatikan bahwa menampilkan bahkan bisa jauh lebih rumit daripada yang biasa Anda lakukan dari ASCII, karena menggabungkan karakter, penulisan dua arah dan semacamnya. Best mungkin untuk tetap berpegang pada karakter latin tanpa menggabungkan aksen. Cyrillic dan yunani juga harus ok, seperti halnya apa pun yang merupakan urutan karakter kiri-ke-kanan yang sederhana.
Mungkin Anda bisa menggunakan memori eksternal untuk menyimpan font.
Lalu ada banyak topik lain yang mungkin tidak Anda butuhkan, misalnya menyortir dan mencari, lihat standar Unicode dan lampirannya (ini besar!).
Lupakan ICU, ini membutuhkan megabita memori.
sumber