ICU 75.1 75.1
Loading...
Searching...
No Matches
ucnv.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4**********************************************************************
5* Copyright (C) 1999-2014, International Business Machines
6* Corporation and others. All Rights Reserved.
7**********************************************************************
8 * ucnv.h:
9 * External APIs for the ICU's codeset conversion library
10 * Bertrand A. Damiba
11 *
12 * Modification History:
13 *
14 * Date Name Description
15 * 04/04/99 helena Fixed internal header inclusion.
16 * 05/11/00 helena Added setFallback and usesFallback APIs.
17 * 06/29/2000 helena Major rewrite of the callback APIs.
18 * 12/07/2000 srl Update of documentation
19 */
20
48#ifndef UCNV_H
49#define UCNV_H
50
51#include "unicode/ucnv_err.h"
52#include "unicode/uenum.h"
53
54#if U_SHOW_CPLUSPLUS_API
56#endif // U_SHOW_CPLUSPLUS_API
57
58#if !defined(USET_DEFINED) && !defined(U_IN_DOXYGEN)
59
60#define USET_DEFINED
61
70typedef struct USet USet;
71
72#endif
73
74#if !UCONFIG_NO_CONVERSION
75
77
79#define UCNV_MAX_CONVERTER_NAME_LENGTH 60
81#define UCNV_MAX_FULL_FILE_NAME_LENGTH (600+UCNV_MAX_CONVERTER_NAME_LENGTH)
82
84#define UCNV_SI 0x0F
86#define UCNV_SO 0x0E
87
171
181typedef enum {
182 UCNV_UNKNOWN = -1,
183 UCNV_IBM = 0
185
201typedef void (U_EXPORT2 *UConverterToUCallback) (
202 const void* context,
204 const char *codeUnits,
205 int32_t length,
207 UErrorCode *pErrorCode);
208
224typedef void (U_EXPORT2 *UConverterFromUCallback) (
225 const void* context,
227 const UChar* codeUnits,
228 int32_t length,
229 UChar32 codePoint,
231 UErrorCode *pErrorCode);
232
234
240#define UCNV_OPTION_SEP_CHAR ','
241
247#define UCNV_OPTION_SEP_STRING ","
248
254#define UCNV_VALUE_SEP_CHAR '='
255
261#define UCNV_VALUE_SEP_STRING "="
262
271#define UCNV_LOCALE_OPTION_STRING ",locale="
272
284#define UCNV_VERSION_OPTION_STRING ",version="
285
296#define UCNV_SWAP_LFNL_OPTION_STRING ",swaplfnl"
297
313U_CAPI int U_EXPORT2
314ucnv_compareNames(const char *name1, const char *name2);
315
316
365U_CAPI UConverter* U_EXPORT2
366ucnv_open(const char *converterName, UErrorCode *err);
367
368
395U_CAPI UConverter* U_EXPORT2
396ucnv_openU(const UChar *name,
397 UErrorCode *err);
398
463U_CAPI UConverter* U_EXPORT2
464ucnv_openCCSID(int32_t codepage,
465 UConverterPlatform platform,
466 UErrorCode * err);
467
498U_CAPI UConverter* U_EXPORT2
499ucnv_openPackage(const char *packageName, const char *converterName, UErrorCode *err);
500
511U_CAPI UConverter* U_EXPORT2 ucnv_clone(const UConverter *cnv, UErrorCode *status);
512
513#ifndef U_HIDE_DEPRECATED_API
514
554U_DEPRECATED UConverter * U_EXPORT2
556 void *stackBuffer,
557 int32_t *pBufferSize,
558 UErrorCode *status);
559
566#define U_CNV_SAFECLONE_BUFFERSIZE 1024
567
568#endif /* U_HIDE_DEPRECATED_API */
569
581U_CAPI void U_EXPORT2
583
584#if U_SHOW_CPLUSPLUS_API
585
586U_NAMESPACE_BEGIN
587
598
599U_NAMESPACE_END
600
601#endif
602
620U_CAPI void U_EXPORT2
622 char *subChars,
623 int8_t *len,
624 UErrorCode *err);
625
645U_CAPI void U_EXPORT2
647 const char *subChars,
648 int8_t len,
649 UErrorCode *err);
650
678U_CAPI void U_EXPORT2
680 const UChar *s,
681 int32_t length,
682 UErrorCode *err);
683
697U_CAPI void U_EXPORT2
699 char *errBytes,
700 int8_t *len,
701 UErrorCode *err);
702
716U_CAPI void U_EXPORT2
718 UChar *errUChars,
719 int8_t *len,
720 UErrorCode *err);
721
729U_CAPI void U_EXPORT2
731
740U_CAPI void U_EXPORT2
742
751U_CAPI void U_EXPORT2
753
804U_CAPI int8_t U_EXPORT2
806
826#define UCNV_GET_MAX_BYTES_FOR_STRING(length, maxCharSize) \
827 (((int32_t)(length)+10)*(int32_t)(maxCharSize))
828
837U_CAPI int8_t U_EXPORT2
839
854U_CAPI int32_t U_EXPORT2
856 const char *displayLocale,
857 UChar *displayName,
858 int32_t displayNameCapacity,
859 UErrorCode *err);
860
871U_CAPI const char * U_EXPORT2
872ucnv_getName(const UConverter *converter, UErrorCode *err);
873
897U_CAPI int32_t U_EXPORT2
898ucnv_getCCSID(const UConverter *converter,
899 UErrorCode *err);
900
913 UErrorCode *err);
914
923U_CAPI UConverterType U_EXPORT2
924ucnv_getType(const UConverter * converter);
925
941U_CAPI void U_EXPORT2
943 UBool starters[256],
944 UErrorCode* err);
945
946
957#ifndef U_HIDE_DEPRECATED_API
963#endif // U_HIDE_DEPRECATED_API
965
966
1012U_CAPI void U_EXPORT2
1014 USet *setFillIn,
1015 UConverterUnicodeSet whichSet,
1016 UErrorCode *pErrorCode);
1017
1029U_CAPI void U_EXPORT2
1031 UConverterToUCallback *action,
1032 const void **context);
1033
1045U_CAPI void U_EXPORT2
1048 const void **context);
1049
1065U_CAPI void U_EXPORT2
1067 UConverterToUCallback newAction,
1068 const void* newContext,
1069 UConverterToUCallback *oldAction,
1070 const void** oldContext,
1071 UErrorCode * err);
1072
1088U_CAPI void U_EXPORT2
1090 UConverterFromUCallback newAction,
1091 const void *newContext,
1092 UConverterFromUCallback *oldAction,
1093 const void **oldContext,
1094 UErrorCode * err);
1095
1154U_CAPI void U_EXPORT2
1156 char **target,
1157 const char *targetLimit,
1158 const UChar ** source,
1159 const UChar * sourceLimit,
1160 int32_t* offsets,
1161 UBool flush,
1162 UErrorCode * err);
1163
1223U_CAPI void U_EXPORT2
1225 UChar **target,
1226 const UChar *targetLimit,
1227 const char **source,
1228 const char *sourceLimit,
1229 int32_t *offsets,
1230 UBool flush,
1231 UErrorCode *err);
1232
1260U_CAPI int32_t U_EXPORT2
1262 char *dest, int32_t destCapacity,
1263 const UChar *src, int32_t srcLength,
1264 UErrorCode *pErrorCode);
1265
1292U_CAPI int32_t U_EXPORT2
1294 UChar *dest, int32_t destCapacity,
1295 const char *src, int32_t srcLength,
1296 UErrorCode *pErrorCode);
1297
1368U_CAPI UChar32 U_EXPORT2
1370 const char **source,
1371 const char * sourceLimit,
1372 UErrorCode * err);
1373
1512U_CAPI void U_EXPORT2
1513ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv,
1514 char **target, const char *targetLimit,
1515 const char **source, const char *sourceLimit,
1516 UChar *pivotStart, UChar **pivotSource,
1517 UChar **pivotTarget, const UChar *pivotLimit,
1518 UBool reset, UBool flush,
1519 UErrorCode *pErrorCode);
1520
1576U_CAPI int32_t U_EXPORT2
1577ucnv_convert(const char *toConverterName,
1578 const char *fromConverterName,
1579 char *target,
1580 int32_t targetCapacity,
1581 const char *source,
1582 int32_t sourceLength,
1583 UErrorCode *pErrorCode);
1584
1630U_CAPI int32_t U_EXPORT2
1632 UConverter *cnv,
1633 char *target, int32_t targetCapacity,
1634 const char *source, int32_t sourceLength,
1635 UErrorCode *pErrorCode);
1636
1682U_CAPI int32_t U_EXPORT2
1684 UConverterType algorithmicType,
1685 char *target, int32_t targetCapacity,
1686 const char *source, int32_t sourceLength,
1687 UErrorCode *pErrorCode);
1688
1696U_CAPI int32_t U_EXPORT2
1698
1706U_CAPI int32_t U_EXPORT2
1708
1719U_CAPI const char* U_EXPORT2
1721
1734U_CAPI UEnumeration * U_EXPORT2
1736
1747U_CAPI uint16_t U_EXPORT2
1748ucnv_countAliases(const char *alias, UErrorCode *pErrorCode);
1749
1762U_CAPI const char * U_EXPORT2
1763ucnv_getAlias(const char *alias, uint16_t n, UErrorCode *pErrorCode);
1764
1778U_CAPI void U_EXPORT2
1779ucnv_getAliases(const char *alias, const char **aliases, UErrorCode *pErrorCode);
1780
1804U_CAPI UEnumeration * U_EXPORT2
1805ucnv_openStandardNames(const char *convName,
1806 const char *standard,
1807 UErrorCode *pErrorCode);
1808
1814U_CAPI uint16_t U_EXPORT2
1816
1824U_CAPI const char * U_EXPORT2
1825ucnv_getStandard(uint16_t n, UErrorCode *pErrorCode);
1826
1846U_CAPI const char * U_EXPORT2
1847ucnv_getStandardName(const char *name, const char *standard, UErrorCode *pErrorCode);
1848
1868U_CAPI const char * U_EXPORT2
1869ucnv_getCanonicalName(const char *alias, const char *standard, UErrorCode *pErrorCode);
1870
1885U_CAPI const char * U_EXPORT2
1887
1888#ifndef U_HIDE_SYSTEM_API
1905U_CAPI void U_EXPORT2
1906ucnv_setDefaultName(const char *name);
1907#endif /* U_HIDE_SYSTEM_API */
1908
1926U_CAPI void U_EXPORT2
1927ucnv_fixFileSeparator(const UConverter *cnv, UChar *source, int32_t sourceLen);
1928
1937U_CAPI UBool U_EXPORT2
1939
1955U_CAPI void U_EXPORT2
1957
1967U_CAPI UBool U_EXPORT2
1969
1998U_CAPI const char* U_EXPORT2
2000 int32_t sourceLength,
2001 int32_t *signatureLength,
2002 UErrorCode *pErrorCode);
2003
2015U_CAPI int32_t U_EXPORT2
2017
2029U_CAPI int32_t U_EXPORT2
2031
2047U_CAPI UBool U_EXPORT2
2049
2050#endif
2051
2052#endif
2053/*_UCNV*/
"Smart pointer" class, closes a UConverter via ucnv_close().
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
The structure for the fromUnicode callback function parameter.
Definition ucnv_err.h:194
The structure for the toUnicode callback function parameter.
Definition ucnv_err.h:210
void(* UConverterToUCallback)(const void *context, UConverterToUnicodeArgs *args, const char *codeUnits, int32_t length, UConverterCallbackReason reason, UErrorCode *pErrorCode)
Function pointer for error callback in the codepage to unicode direction.
Definition ucnv.h:201
U_CAPI UBool ucnv_usesFallback(const UConverter *cnv)
Determines if the converter uses fallback mappings or not.
UConverter * ucnv_safeClone(const UConverter *cnv, void *stackBuffer, int32_t *pBufferSize, UErrorCode *status)
Thread safe converter cloning operation.
U_CAPI UConverter * ucnv_openPackage(const char *packageName, const char *converterName, UErrorCode *err)
U_CAPI UBool ucnv_isAmbiguous(const UConverter *cnv)
Determines if the converter contains ambiguous mappings of the same character or not.
U_CAPI void ucnv_setDefaultName(const char *name)
This function is not thread safe.
U_CAPI int32_t ucnv_fromAlgorithmic(UConverter *cnv, UConverterType algorithmicType, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
void(* UConverterFromUCallback)(const void *context, UConverterFromUnicodeArgs *args, const UChar *codeUnits, int32_t length, UChar32 codePoint, UConverterCallbackReason reason, UErrorCode *pErrorCode)
Function pointer for error callback in the unicode to codepage direction.
Definition ucnv.h:224
U_CAPI void ucnv_setFromUCallBack(UConverter *converter, UConverterFromUCallback newAction, const void *newContext, UConverterFromUCallback *oldAction, const void **oldContext, UErrorCode *err)
Changes the current callback function used by the converter when an illegal or invalid sequence is fo...
U_CAPI UConverter * ucnv_openU(const UChar *name, UErrorCode *err)
Creates a Unicode converter with the names specified as unicode string.
U_CAPI void ucnv_getInvalidChars(const UConverter *converter, char *errBytes, int8_t *len, UErrorCode *err)
Fills in the output parameter, errBytes, with the error characters from the last failing conversion.
U_CAPI const char * ucnv_getAlias(const char *alias, uint16_t n, UErrorCode *pErrorCode)
Gives the name of the alias at given index of alias list.
U_CAPI void ucnv_getSubstChars(const UConverter *converter, char *subChars, int8_t *len, UErrorCode *err)
Fills in the output parameter, subChars, with the substitution characters as multiple bytes.
U_CAPI const char * ucnv_getStandardName(const char *name, const char *standard, UErrorCode *pErrorCode)
Returns a standard name for a given converter name.
UConverterUnicodeSet
Selectors for Unicode sets that can be returned by ucnv_getUnicodeSet().
Definition ucnv.h:952
@ UCNV_SET_COUNT
Number of UConverterUnicodeSet selectors.
Definition ucnv.h:962
@ UCNV_ROUNDTRIP_AND_FALLBACK_SET
Select the set of Unicode code points with roundtrip or fallback mappings.
Definition ucnv.h:956
@ UCNV_ROUNDTRIP_SET
Select the set of roundtrippable Unicode code points.
Definition ucnv.h:954
U_CAPI int32_t ucnv_flushCache(void)
Frees up memory occupied by unused, cached converter shared data.
U_CAPI void ucnv_resetFromUnicode(UConverter *converter)
Resets the from-Unicode part of a converter state to the default state.
U_CAPI int32_t ucnv_fromUChars(UConverter *cnv, char *dest, int32_t destCapacity, const UChar *src, int32_t srcLength, UErrorCode *pErrorCode)
Convert the Unicode string into a codepage string using an existing UConverter.
U_CAPI void ucnv_getUnicodeSet(const UConverter *cnv, USet *setFillIn, UConverterUnicodeSet whichSet, UErrorCode *pErrorCode)
Returns the set of Unicode code points that can be converted by an ICU converter.
U_CAPI UChar32 ucnv_getNextUChar(UConverter *converter, const char **source, const char *sourceLimit, UErrorCode *err)
Convert a codepage buffer into Unicode one character at a time.
U_CAPI const char * ucnv_getCanonicalName(const char *alias, const char *standard, UErrorCode *pErrorCode)
This function will return the internal canonical converter name of the tagged alias.
U_CAPI void ucnv_setFallback(UConverter *cnv, UBool usesFallback)
Sets the converter to use fallback mappings or not.
U_CAPI int8_t ucnv_getMinCharSize(const UConverter *converter)
Returns the minimum byte length (per codepoint) for characters in this codepage.
U_CAPI UConverter * ucnv_clone(const UConverter *cnv, UErrorCode *status)
Thread safe converter cloning operation.
U_CAPI void ucnv_reset(UConverter *converter)
Resets the state of a converter to the default state.
U_CAPI void ucnv_getStarters(const UConverter *converter, UBool starters[256], UErrorCode *err)
Gets the "starter" (lead) bytes for converters of type MBCS.
U_CAPI void ucnv_getAliases(const char *alias, const char **aliases, UErrorCode *pErrorCode)
Fill-up the list of alias names for the given alias.
U_CAPI UConverter * ucnv_open(const char *converterName, UErrorCode *err)
Creates a UConverter object with the name of a coded character set specified as a C string.
U_CAPI const char * ucnv_getName(const UConverter *converter, UErrorCode *err)
Gets the internal, canonical name of the converter (zero-terminated).
U_CAPI void ucnv_getToUCallBack(const UConverter *converter, UConverterToUCallback *action, const void **context)
Gets the current callback function used by the converter when an illegal or invalid codepage sequence...
U_CAPI const char * ucnv_detectUnicodeSignature(const char *source, int32_t sourceLength, int32_t *signatureLength, UErrorCode *pErrorCode)
Detects Unicode signature byte sequences at the start of the byte stream and returns the charset name...
U_CAPI UBool ucnv_isFixedWidth(UConverter *cnv, UErrorCode *status)
Returns whether or not the charset of the converter has a fixed number of bytes per charset character...
U_CAPI void ucnv_convertEx(UConverter *targetCnv, UConverter *sourceCnv, char **target, const char *targetLimit, const char **source, const char *sourceLimit, UChar *pivotStart, UChar **pivotSource, UChar **pivotTarget, const UChar *pivotLimit, UBool reset, UBool flush, UErrorCode *pErrorCode)
Convert from one external charset to another using two existing UConverters.
U_CAPI UConverterType ucnv_getType(const UConverter *converter)
Gets the type of the converter e.g.
U_CAPI UEnumeration * ucnv_openStandardNames(const char *convName, const char *standard, UErrorCode *pErrorCode)
Return a new UEnumeration object for enumerating all the alias names for a given converter that are r...
U_CAPI void ucnv_toUnicode(UConverter *converter, UChar **target, const UChar *targetLimit, const char **source, const char *sourceLimit, int32_t *offsets, UBool flush, UErrorCode *err)
Converts a buffer of codepage bytes into an array of unicode UChars characters.
U_CAPI uint16_t ucnv_countStandards(void)
Gives the number of standards associated to converter names.
U_CAPI const char * ucnv_getStandard(uint16_t n, UErrorCode *pErrorCode)
Gives the name of the standard at given index of standard list.
U_CAPI void ucnv_setSubstChars(UConverter *converter, const char *subChars, int8_t len, UErrorCode *err)
Sets the substitution chars when converting from unicode to a codepage.
U_CAPI const char * ucnv_getAvailableName(int32_t n)
Gets the canonical converter name of the specified converter from a list of all available converters ...
U_CAPI void ucnv_fromUnicode(UConverter *converter, char **target, const char *targetLimit, const UChar **source, const UChar *sourceLimit, int32_t *offsets, UBool flush, UErrorCode *err)
Converts an array of unicode characters to an array of codepage characters.
U_CAPI int ucnv_compareNames(const char *name1, const char *name2)
Do a fuzzy compare of two converter/alias names.
U_CAPI int32_t ucnv_convert(const char *toConverterName, const char *fromConverterName, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
U_CAPI UEnumeration * ucnv_openAllNames(UErrorCode *pErrorCode)
Returns a UEnumeration to enumerate all of the canonical converter names, as per the alias file,...
U_CAPI int32_t ucnv_countAvailable(void)
Returns the number of available converters, as per the alias file.
U_CAPI void ucnv_getInvalidUChars(const UConverter *converter, UChar *errUChars, int8_t *len, UErrorCode *err)
Fills in the output parameter, errChars, with the error characters from the last failing conversion.
UConverterPlatform
Enum for specifying which platform a converter ID refers to.
Definition ucnv.h:181
U_CAPI int32_t ucnv_getDisplayName(const UConverter *converter, const char *displayLocale, UChar *displayName, int32_t displayNameCapacity, UErrorCode *err)
Returns the display name of the converter passed in based on the Locale passed in.
U_CAPI int32_t ucnv_getCCSID(const UConverter *converter, UErrorCode *err)
Gets a codepage number associated with the converter.
U_CAPI void ucnv_setToUCallBack(UConverter *converter, UConverterToUCallback newAction, const void *newContext, UConverterToUCallback *oldAction, const void **oldContext, UErrorCode *err)
Changes the callback function used by the converter when an illegal or invalid sequence is found.
U_CAPI int32_t ucnv_toUCountPending(const UConverter *cnv, UErrorCode *status)
Returns the number of chars held in the converter's internal state because more input is needed for c...
U_CAPI uint16_t ucnv_countAliases(const char *alias, UErrorCode *pErrorCode)
Gives the number of aliases for a given converter or alias name.
U_CAPI void ucnv_setSubstString(UConverter *cnv, const UChar *s, int32_t length, UErrorCode *err)
Set a substitution string for converting from Unicode to a charset.
U_CAPI int32_t ucnv_fromUCountPending(const UConverter *cnv, UErrorCode *status)
Returns the number of UChars held in the converter's internal state because more input is needed for ...
UConverterType
Enum for specifying basic types of converters.
Definition ucnv.h:93
@ UCNV_HZ
Definition ucnv.h:146
@ UCNV_LMBCS_11
Definition ucnv.h:134
@ UCNV_ISO_2022
Definition ucnv.h:117
@ UCNV_LATIN_1
Definition ucnv.h:103
@ UCNV_COMPOUND_TEXT
Definition ucnv.h:166
@ UCNV_LMBCS_19
Definition ucnv.h:142
@ UCNV_UTF32_BigEndian
Definition ucnv.h:111
@ UCNV_LMBCS_17
Definition ucnv.h:138
@ UCNV_LMBCS_6
Definition ucnv.h:130
@ UCNV_UTF32
Definition ucnv.h:160
@ UCNV_ISCII
Definition ucnv.h:150
@ UCNV_LMBCS_3
Definition ucnv.h:124
@ UCNV_IMAP_MAILBOX
Definition ucnv.h:164
@ UCNV_UTF8
Definition ucnv.h:105
@ UCNV_SBCS
Definition ucnv.h:97
@ UCNV_UTF16_LittleEndian
Definition ucnv.h:109
@ UCNV_UNSUPPORTED_CONVERTER
Definition ucnv.h:95
@ UCNV_LMBCS_16
Definition ucnv.h:136
@ UCNV_UTF32_LittleEndian
Definition ucnv.h:113
@ UCNV_LMBCS_8
Definition ucnv.h:132
@ UCNV_US_ASCII
Definition ucnv.h:152
@ UCNV_LMBCS_2
Definition ucnv.h:122
@ UCNV_UTF16
Definition ucnv.h:158
@ UCNV_UTF16_BigEndian
Definition ucnv.h:107
@ UCNV_LMBCS_5
Definition ucnv.h:128
@ UCNV_EBCDIC_STATEFUL
Definition ucnv.h:115
@ UCNV_MBCS
Definition ucnv.h:101
@ UCNV_LMBCS_4
Definition ucnv.h:126
@ UCNV_SCSU
Definition ucnv.h:148
@ UCNV_UTF7
Definition ucnv.h:154
@ UCNV_LMBCS_18
Definition ucnv.h:140
@ UCNV_BOCU1
Definition ucnv.h:156
@ UCNV_LMBCS_LAST
Definition ucnv.h:144
@ UCNV_LMBCS_1
Definition ucnv.h:120
@ UCNV_DBCS
Definition ucnv.h:99
@ UCNV_CESU8
Definition ucnv.h:162
U_CAPI int32_t ucnv_toAlgorithmic(UConverterType algorithmicType, UConverter *cnv, char *target, int32_t targetCapacity, const char *source, int32_t sourceLength, UErrorCode *pErrorCode)
Convert from one external charset to another.
U_CAPI int32_t ucnv_toUChars(UConverter *cnv, UChar *dest, int32_t destCapacity, const char *src, int32_t srcLength, UErrorCode *pErrorCode)
Convert the codepage string into a Unicode string using an existing UConverter.
U_CAPI void ucnv_fixFileSeparator(const UConverter *cnv, UChar *source, int32_t sourceLen)
Fixes the backslash character mismapping.
U_CAPI void ucnv_close(UConverter *converter)
Deletes the unicode converter and releases resources associated with just this instance.
U_CAPI UConverter * ucnv_openCCSID(int32_t codepage, UConverterPlatform platform, UErrorCode *err)
Creates a UConverter object from a CCSID number and platform pair.
U_CAPI void ucnv_resetToUnicode(UConverter *converter)
Resets the to-Unicode part of a converter state to the default state.
U_CAPI const char * ucnv_getDefaultName(void)
Returns the current default converter name.
U_CAPI void ucnv_getFromUCallBack(const UConverter *converter, UConverterFromUCallback *action, const void **context)
Gets the current callback function used by the converter when illegal or invalid Unicode sequence is ...
U_CAPI int8_t ucnv_getMaxCharSize(const UConverter *converter)
Returns the maximum number of bytes that are output per UChar in conversion from Unicode using this c...
U_CAPI UConverterPlatform ucnv_getPlatform(const UConverter *converter, UErrorCode *err)
Gets a codepage platform associated with the converter.
C API: UConverter predefined error callbacks.
struct UConverter UConverter
Definition ucnv_err.h:96
UConverterCallbackReason
The process condition code to be used with the callbacks.
Definition ucnv_err.h:157
C API: String Enumeration.
struct UEnumeration UEnumeration
structure representing an enumeration object instance
Definition uenum.h:44
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition umachine.h:427
#define U_DEPRECATED
This is used to declare a function as a deprecated public ICU C API
Definition umachine.h:116
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition umachine.h:86
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition umachine.h:247
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition umachine.h:110
char16_t UChar
The base type for UTF-16 code units and pointers.
Definition umachine.h:378
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition umachine.h:85
struct USet USet
USet is the C API type corresponding to C++ class UnicodeSet.
Definition uset.h:50
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:415