Decode a UTF-8 string in reverse, one Unicode codepoint at a time.
Defined in <SDL3/SDL_stdinc.h>
const char *start, const char **pstr); Uint32 SDL_StepBackUTF8(
const char * | start | a pointer to the beginning of the UTF-8 string. |
const char ** | pstr | a pointer to a UTF-8 string pointer to be read and adjusted. |
(Uint32) Returns the previous Unicode codepoint in the string.
This will go to the start of the previous Unicode codepoint in the string, move *pstr
to that location and return that codepoint.
If *pstr
is already at the start of the string), it will not advance *pstr
at all.
Generally this function is called in a loop until it returns zero, adjusting its parameter each iteration.
If an invalid UTF-8 sequence is encountered, this function returns SDL_INVALID_UNICODE_CODEPOINT.
Several things can generate invalid UTF-8 sequences, including overlong encodings, the use of UTF-16 surrogate values, and truncated data. Please refer to RFC3629 for details.
It is safe to call this function from any thread.
This function is available since SDL 3.1.6.