This repository has been archived on 2026-04-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
bhlib/doc/Manual/ru/BH_Unicode.pod
Mikhail Romanko fc774fd0ff Refactor, separate docs from headers, add ru docs
Doxygen kind'a sucks and I need multilanguage documentation, so I did
that. Also, separated massive Math.h file into smaller files.
2025-06-21 20:12:15 +03:00

185 lines
7.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
=encoding UTF-8
=head1 НАИМЕНОВАНИЕ
BH_Unicode - Работа с Unicode и UTF кодировками
=head1 СИНТАКСИС
#include <BH/Math.h>
cc prog.c -o prog -lbh
=head1 ОПИСАНИЕ
Библиотека BH_Unicode предоставляет набор функций для работы с различными
кодировками Unicode, включая UTF-8, UTF-16 и UTF-32. Она позволяет
преобразовывать символы в верхний и нижний регистр, а также кодировать и
декодировать строки в указанных кодировках.
=head1 API ВЫЗОВЫ
=head2 BH_UnicodeLower
uint32_t BH_UnicodeLower(uint32_t unit);
Преобразует Unicode-код I<unit> в нижний регистр.
Преобразование выполняется для символов в Basic Multilingual Plane (т. е. первые
65 536 кодов).
=head2 BH_UnicodeUpper
uint32_t BH_UnicodeUpper(uint32_t unit);
Преобразует Unicode-код I<unit> в верхний регистр.
Преобразование выполняется для символов в Basic Multilingual Plane (т. е. первые
65 536 кодов).
=head2 BH_UnicodeDecodeUtf8
size_t BH_UnicodeDecodeUtf8(const char *string,
size_t size,
uint32_t *unit);
Декодирует UTF-8 последовательность из I<string> (с заданной длиной I<size>) и
записывает код в I<unit>.
Недопустимые последовательности UTF-8 будут преобразованы к коду -1.
В случае успеха функция возвращает количество прочитанных байтов или 0, если
I<string> содержит только часть последовательности.
=head2 BH_UnicodeEncodeUtf8
size_t BH_UnicodeEncodeUtf8(uint32_t unit,
char *string);
Кодирует UTF-8 последовательность в I<string> из кода I<unit>.
Предполагается, что строка содержит 4 байта свободного места.
В случае успеха функция возвращает количество записанных байтов или 0.
=head2 BH_UnicodeDecodeUtf16LE
size_t BH_UnicodeDecodeUtf16LE(const char *string,
size_t size,
uint32_t *unit);
Декодирует UTF-16LE последовательность из I<string> (с заданной длиной I<size>)
и записывает код в I<unit>.
Недопустимые последовательности UTF-16LE будут преобразованы к коду -1.
В случае успеха функция возвращает количество прочитанных байтов или 0, если
I<string> содержит только часть последовательности.
=head2 BH_UnicodeDecodeUtf16BE
size_t BH_UnicodeDecodeUtf16BE(const char *string,
size_t size,
uint32_t *unit);
Декодирует UTF-16BE последовательность из I<string> (с заданной длиной I<size>)
и записывает код в I<unit>.
Недопустимые последовательности UTF-16BE будут преобразованы к коду -1.
В случае успеха функция возвращает количество прочитанных байтов или 0, если
I<string> содержит только часть последовательности.
=head2 BH_UnicodeEncodeUtf16LE
size_t BH_UnicodeEncodeUtf16LE(uint32_t unit,
char *string);
Кодирует UTF-16LE последовательность в I<string> из кода I<unit>.
Предполагается, что строка содержит 4 байта свободного места.
В случае успеха функция возвращает количество записанных байтов или 0.
=head2 BH_UnicodeEncodeUtf16BE
size_t BH_UnicodeEncodeUtf16BE(uint32_t unit,
char *string);
Кодирует UTF-16BE последовательность в I<string> из кода I<unit>.
Предполагается, что строка содержит 4 байта свободного места.
В случае успеха функция возвращает количество записанных байтов или 0.
=head2 BH_UnicodeDecodeUtf32LE
size_t BH_UnicodeDecodeUtf32LE(const char *string,
size_t size,
uint32_t *unit);
Декодирует UTF-32LE последовательность из I<string> (с заданной длиной I<size>)
и записывает код в I<unit>.
Недопустимые последовательности UTF-32LE будут преобразованы к коду -1.
В случае успеха функция возвращает количество прочитанных байтов или 0, если
I<string> содержит только часть последовательности.
=head2 BH_UnicodeDecodeUtf32BE
size_t BH_UnicodeDecodeUtf32BE(const char *string,
size_t size,
uint32_t *unit);
Декодирует UTF-32BE последовательность из I<string> (с заданной длиной I<size>)
и записывает код в I<unit>.
Недопустимые последовательности UTF-32BE будут преобразованы к коду -1.
В случае успеха функция возвращает количество прочитанных байтов или 0, если
I<string> содержит только часть последовательности.
=head2 BH_UnicodeEncodeUtf32LE
size_t BH_UnicodeEncodeUtf32LE(uint32_t unit,
char *string);
Кодирует UTF-32LE последовательность в I<string> из кода I<unit>.
Предполагается, что строка содержит 4 байта свободного места.
В случае успеха функция возвращает количество записанных байтов или 0.
=head2 BH_UnicodeEncodeUtf32BE
size_t BH_UnicodeEncodeUtf32BE(uint32_t unit,
char *string);
Кодирует UTF-32BE последовательность в I<string> из кода I<unit>.
Предполагается, что строка содержит 4 байта свободного места.
В случае успеха функция возвращает количество записанных байтов или 0.
=head1 СМ. ТАКЖЕ
L<BH>