Перевод символа из кодировки терминала в Юникод
#include <sys/terminal.h>int term_encoding_to_wchar(terminal_t *term, const char *source, size_t maxsrc, size_t *srctaken, uint16_t *destination);
source
.terminal
Данная функция согласно установленной в терминале таблице кодировки переводит первый символ в переданной строке в Юникод. Если в терминале не установлена таблица кодировки, функция интерпретирует введённую строку в UTF-8 и использует количество байт, достаточное для получения целого символа (максимум 4 байта).
0
при успешном переводе, -1
если для перевода было недостаточно данных в буфере.
![]() | Если в таблице кодировки не нашлось соответствующего символа, результатом перевода становится ' ?', и функция возвращает 0 . -1 возвращается только в случае, когда данных было недостаточно и попытку перевода можно повторить, дополнив их (например, фрагмент сообщения заканчивался на одном из двух байт символа из кириллицы, и этот остаток необходимо добавить к началу следующего фрагмента). |
ЗОСРВ «Нейтрино»
term_wchar_to_encoding(), term_set_charset(), term_charset_load()
Предыдущий раздел: Terminal API