blob: 98f6ff96609417ba00c1032e7926b2b92172c4d2 (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
#ifndef __ARTEFACT_UTF8_H__
#define __ARTEFACT_UTF8_H__
#include <string>
#include <map>
#include "exception.h"
class UTF8CreateException: public Exception {
public:
UTF8CreateException(std::string reason) :
Exception("Error during creation of the UTF8 subsystem: " + reason) {}
};
class UTF8EncodeException: public Exception {
public:
UTF8EncodeException(std::string reason) :
Exception("Error during UTF8 encoding: " + reason) {}
};
class UTF8DecodeException: public Exception {
public:
UTF8DecodeException(std::string reason) :
Exception("Error during UTF8 decoding: " + reason) {}
};
class UTF8 {
public:
UTF8(std::string encoding = "ISO-8859-1") throw(UTF8CreateException);
std::string encode(std::string s) throw(UTF8EncodeException);
std::string decode(std::string s) throw(UTF8DecodeException);
private:
std::string encoding;
std::map< std::string, std::string > map_encode;
std::map< std::string, std::string > map_decode;
};
#endif
|