blob: 230e0ed69581a62024dfdee17ef0be714ff7dccb (
plain)
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
|
type
integer = longint;
const
{** @abstract(Character encoding value: UTF-8 storage format)}
CHAR_ENCODING_UTF8 = 0;
{** @abstract(Character encoding value: unknown format)}
CHAR_ENCODING_UNKNOWN = -1;
{** @abstract(Character encoding value: UTF-32 Big endian)}
CHAR_ENCODING_UTF32BE = 1;
{** @abstract(Character encoding value: UTF-32 Little endian)}
CHAR_ENCODING_UTF32LE = 2;
{** @abstract(Character encoding value: UTF-16 Little endian)}
CHAR_ENCODING_UTF16LE = 3;
{** @abstract(Character encoding value: UTF-16 Big endian)}
CHAR_ENCODING_UTF16BE = 4;
{** @abstract(Character encoding value: One byte per character storage
format)}
CHAR_ENCODING_BYTE = 5;
{** @abstract(Character encoding value: UTF-16 unknown endian
(determined by BOM))}
CHAR_ENCODING_UTF16 = 6;
{** @abstract(Character encoding value: UTF-32 unknown endian
(determined by BOM))}
CHAR_ENCODING_UTF32 = 7;
function GetCharEncoding(alias: string; var _name: string): integer;
var
encoding: integer;
newencoding: integer;
begin
_name:='';
if length(alias) = 0 then
Runerror(255); { FAILED! }
newencoding:=CHAR_ENCODING_UTF8;
encoding:=CHAR_ENCODING_BYTE;
case newencoding of
{ currently unsupported }
CHAR_ENCODING_UNKNOWN:
Begin
end;
{ verify if we are using the correct encoding }
CHAR_ENCODING_UTF16:
begin
if (encoding <> CHAR_ENCODING_UTF16BE) and
(encoding <> CHAR_ENCODING_UTF16LE) then
encoding:=255;
end;
{ verify if we are using the correct encoding }
CHAR_ENCODING_UTF32:
begin
if (encoding <> CHAR_ENCODING_UTF32BE) and
(encoding <> CHAR_ENCODING_UTF32LE) then
encoding:=255;
end;
CHAR_ENCODING_UTF16BE,
CHAR_ENCODING_UTF16LE,
CHAR_ENCODING_UTF32LE,
CHAR_ENCODING_UTF32BE:
begin
end;
else
begin
encoding:=newencoding;
end;
end;
if encoding <> CHAR_ENCODING_UTF8 then
RunError(255);
end;
var
_encoding: string;
Begin
_encoding:='UTF-8';
GetCharencoding(_encoding,_encoding);
end.
|