1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
#pragma once
enum ECharset {
CODES_UNSUPPORTED = -2, // valid but unsupported encoding
CODES_UNKNOWN = -1, // invalid or unspecified encoding
CODES_WIN, // [ 0] WINDOWS_1251 Windows
CODES_KOI8, // [ 1] KOI8_U Koi8-u
CODES_ALT, // [ 2] IBM_866 MS DOS, alternative
CODES_MAC, // [ 3] MAC_CYRILLIC Macintosh
CODES_MAIN, // [ 4] ISO_LATIN_CYRILLIC Main
CODES_ASCII, // [ 5] WINDOWS_1252 Latin 1
CODES_RESERVED_3, // reserved code: use it for new encodings before adding them to the end of the list
CODES_WIN_EAST, // [ 7] WINDOWS_1250 WIN PL
CODES_ISO_EAST, // [ 8] ISO_8859_2 ISO PL
// our superset of subset of windows-1251
CODES_YANDEX, // [ 9] YANDEX
CODES_UTF_16BE, // [10] UTF_16BE
CODES_UTF_16LE, // [11] UTF_16LE
// missing standard codepages
CODES_IBM855, // [12] IBM_855
CODES_UTF8, // [13] UTF8
CODES_UNKNOWNPLANE, // [14] Unrecognized characters are mapped into the PUA: U+F000..U+F0FF
CODES_KAZWIN, // [15] WINDOWS_1251_K Kazakh version of Windows-1251
CODES_TATWIN, // [16] WINDOWS_1251_T Tatarian version of Windows-1251
CODES_ARMSCII, // [17] Armenian ASCII
CODES_GEO_ITA, // [18] Academy of Sciences Georgian
CODES_GEO_PS, // [19] Georgian Parliament
CODES_ISO_8859_3, // [20] Latin-3: Turkish, Maltese and Esperanto
CODES_ISO_8859_4, // [21] Latin-4: Estonian, Latvian, Lithuanian, Greenlandic, Sami
CODES_ISO_8859_6, // [22] Latin/Arabic: Arabic
CODES_ISO_8859_7, // [23] Latin/Greek: Greek
CODES_ISO_8859_8, // [24] Latin/Hebrew: Hebrew
CODES_ISO_8859_9, // [25] Latin-5 or Turkish: Turkish
CODES_ISO_8859_13, // [26] Latin-7 or Baltic Rim: Baltic languages
CODES_ISO_8859_15, // [27] Latin-9: Western European languages
CODES_ISO_8859_16, // [28] Latin-10: South-Eastern European languages
CODES_WINDOWS_1253, // [29] for Greek
CODES_WINDOWS_1254, // [30] for Turkish
CODES_WINDOWS_1255, // [31] for Hebrew
CODES_WINDOWS_1256, // [32] for Arabic
CODES_WINDOWS_1257, // [33] for Estonian, Latvian and Lithuanian
// these codes are all the other 8bit codes known by libiconv
// they follow in alphanumeric order
CODES_CP1046,
CODES_CP1124,
CODES_CP1125,
CODES_CP1129,
CODES_CP1131,
CODES_CP1133,
CODES_CP1161, // [40]
CODES_CP1162,
CODES_CP1163,
CODES_CP1258,
CODES_CP437,
CODES_CP737,
CODES_CP775,
CODES_CP850,
CODES_CP852,
CODES_CP853,
CODES_CP856, // [50]
CODES_CP857,
CODES_CP858,
CODES_CP860,
CODES_CP861,
CODES_CP862,
CODES_CP863,
CODES_CP864,
CODES_CP865,
CODES_CP869,
CODES_CP874, // [60]
CODES_CP922,
CODES_HP_ROMAN8,
CODES_ISO646_CN,
CODES_ISO646_JP,
CODES_ISO8859_10,
CODES_ISO8859_11,
CODES_ISO8859_14,
CODES_JISX0201,
CODES_KOI8_T,
CODES_MAC_ARABIC, // [70]
CODES_MAC_CENTRALEUROPE,
CODES_MAC_CROATIAN,
CODES_MAC_GREEK,
CODES_MAC_HEBREW,
CODES_MAC_ICELAND,
CODES_MAC_ROMANIA,
CODES_MAC_ROMAN,
CODES_MAC_THAI,
CODES_MAC_TURKISH,
CODES_RESERVED_2, // [80] reserved code: use it for new encodings before adding them to the end of the list
CODES_MULELAO,
CODES_NEXTSTEP,
CODES_PT154,
CODES_RISCOS_LATIN1,
CODES_RK1048,
CODES_TCVN,
CODES_TDS565,
CODES_TIS620,
CODES_VISCII,
// libiconv multibyte codepages
CODES_BIG5, // [90]
CODES_BIG5_HKSCS,
CODES_BIG5_HKSCS_1999,
CODES_BIG5_HKSCS_2001,
CODES_CP932,
CODES_CP936,
CODES_CP949,
CODES_CP950,
CODES_EUC_CN,
CODES_EUC_JP,
CODES_EUC_KR, // [100]
CODES_EUC_TW,
CODES_GB18030,
CODES_GBK,
CODES_HZ,
CODES_ISO_2022_CN,
CODES_ISO_2022_CN_EXT,
CODES_ISO_2022_JP,
CODES_ISO_2022_JP_1,
CODES_ISO_2022_JP_2,
CODES_ISO_2022_KR, // [110]
CODES_JOHAB,
CODES_SHIFT_JIS,
CODES_MAX
};
|