11#include "ws_symbol_export.h"
24extern const gunichar2 charset_table_cp1250[0x80];
26extern const gunichar2 charset_table_cp1251[0x80];
28extern const gunichar2 charset_table_cp1252[0x80];
31extern const gunichar2 charset_table_iso_8859_2[0x80];
32extern const gunichar2 charset_table_iso_8859_3[0x80];
33extern const gunichar2 charset_table_iso_8859_4[0x80];
34extern const gunichar2 charset_table_iso_8859_5[0x80];
35extern const gunichar2 charset_table_iso_8859_6[0x80];
36extern const gunichar2 charset_table_iso_8859_7[0x80];
37extern const gunichar2 charset_table_iso_8859_8[0x80];
38extern const gunichar2 charset_table_iso_8859_9[0x80];
39extern const gunichar2 charset_table_iso_8859_10[0x80];
40extern const gunichar2 charset_table_iso_8859_11[0x80];
41extern const gunichar2 charset_table_iso_8859_13[0x80];
42extern const gunichar2 charset_table_iso_8859_14[0x80];
43extern const gunichar2 charset_table_iso_8859_15[0x80];
44extern const gunichar2 charset_table_iso_8859_16[0x80];
47extern const gunichar2 charset_table_mac_roman[0x80];
50extern const gunichar2 charset_table_cp437[0x80];
51extern const gunichar2 charset_table_cp855[0x80];
52extern const gunichar2 charset_table_cp866[0x80];
59extern const gunichar2 charset_table_iso_646_basic[0x80];
62extern const gunichar2 charset_table_ebcdic[256];
63extern const gunichar2 charset_table_ebcdic_cp037[256];
64extern const gunichar2 charset_table_ebcdic_cp500[256];
82WS_DLL_PUBLIC uint8_t *
102WS_DLL_PUBLIC uint8_t *
124WS_DLL_PUBLIC uint8_t *
139WS_DLL_PUBLIC uint8_t *
151WS_DLL_PUBLIC uint8_t *
152get_unichar2_string(
wmem_allocator_t *scope,
const uint8_t *ptr,
size_t length,
const gunichar2 table[0x80]);
173WS_DLL_PUBLIC uint8_t *
195WS_DLL_PUBLIC uint8_t *
215WS_DLL_PUBLIC uint8_t *
230WS_DLL_PUBLIC uint8_t *
232 const size_t bit_offset,
size_t no_of_chars);
242WS_DLL_PUBLIC uint8_t *
254WS_DLL_PUBLIC uint8_t *
267WS_DLL_PUBLIC uint8_t *
269 const size_t bit_offset,
size_t no_of_chars);
287WS_DLL_PUBLIC uint8_t *
307WS_DLL_PUBLIC uint8_t *
325WS_DLL_PUBLIC uint8_t *
336WS_DLL_PUBLIC uint8_t *
347WS_DLL_PUBLIC uint8_t *
WS_DLL_PUBLIC uint8_t * get_ascii_7bits_string(wmem_allocator_t *scope, const uint8_t *ptr, const size_t bit_offset, size_t no_of_chars)
Convert a sequence of 7-bit ASCII characters to a Unicode string.
Definition charsets.c:1222
WS_DLL_PUBLIC uint8_t * get_utf_8_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Validate and normalize a UTF‑8 byte sequence, replacing invalid sequences with the Unicode REPLACEMEN...
Definition charsets.c:114
WS_DLL_PUBLIC uint8_t * get_8859_1_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Convert an ISO 8859/1 string to UTF‑8.
Definition charsets.c:178
WS_DLL_PUBLIC uint8_t * get_etsi_ts_102_221_annex_a_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Retrieves a string based on ETSI TS 102 221 Annex A encoding.
Definition charsets.c:1095
WS_DLL_PUBLIC uint8_t * get_t61_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Converts a T.61 encoded string to a UTF-8 string.
Definition charsets.c:1828
WS_DLL_PUBLIC uint8_t * get_ts_23_038_7bits_string_unpacked(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Extracts a 7-bit string from TS 23.038 data.
Definition charsets.c:1076
WS_DLL_PUBLIC uint8_t * get_ascii_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Convert an ASCII byte sequence to a UTF‑8 string using a wmem scope.
Definition charsets.c:83
WS_DLL_PUBLIC uint8_t * get_ts_23_038_7bits_string_packed(wmem_allocator_t *scope, const uint8_t *ptr, const size_t bit_offset, size_t no_of_chars)
Extracts a 7-bit encoded string from packed data.
Definition charsets.c:1004
WS_DLL_PUBLIC uint8_t * get_euc_kr_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Convert a EUC-KR encoded string to UTF-8.
Definition charsets.c:1567
WS_DLL_PUBLIC uint8_t * get_nonascii_unichar2_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length, const gunichar2 table[256])
Convert a GB18030 encoded string to a UTF-8 string, substituting REPLACEMENT CHARACTER for non-ASCII ...
Definition charsets.c:1412
WS_DLL_PUBLIC uint8_t * get_utf_16_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length, unsigned encoding)
Convert a UTF‑16 encoded string to UTF‑8.
Definition charsets.c:763
WS_DLL_PUBLIC uint8_t * get_gb18030_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Convert a GB18030 encoded string to UTF-8.
Definition charsets.c:1535
WS_DLL_PUBLIC uint8_t * get_ucs_2_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length, unsigned encoding)
Convert a UCS‑2 encoded string to UTF‑8.
Definition charsets.c:711
WS_DLL_PUBLIC uint8_t * get_iso_646_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length, const gunichar2 table[0x80])
Convert a string encoded in an ISO 646-based character set to UTF‑8.
Definition charsets.c:152
WS_DLL_PUBLIC uint8_t * get_dect_standard_8bits_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length)
Converts a DECT standard 8-bit string to a Unicode string.
Definition charsets.c:1890
WS_DLL_PUBLIC uint8_t * get_ucs_4_string(wmem_allocator_t *scope, const uint8_t *ptr, size_t length, unsigned encoding)
Convert a UCS‑4 encoded string to UTF‑8.
Definition charsets.c:863
Internal memory allocator interface used by the wmem subsystem.
Definition wmem_allocator.h:34