Unicode decoder block. It can decode sequence of UTF-8 characters, between 1 and 4 bytes long.


This is simple implementation and does not support string encoding.


Unicode support manager.


espr_t espi_unicode_decode(esp_unicode_t *uni, uint8_t ch)

Decode single character for unicode (UTF-8 only) format.

  • [inout] s: Pointer to unicode decode control structure

  • [in] c: UTF-8 character sequence to test for device

Return Value
  • espOK: Function succedded, there is a valid UTF-8 sequence

  • espINPROG: Function continues well but expects some more data to finish sequence

  • espERR: Error in UTF-8 sequence

struct esp_unicode_t
#include <esp_private.h>

Unicode support structure.

Public Members

uint8_t ch[4]

UTF-8 max characters

uint8_t t

Total expected length in UTF-8 sequence

uint8_t r

Remaining bytes in UTF-8 sequence

espr_t res

Current result of processing