1 //
2 // ASCIIEncoding.h
3 //
4 // Library: Foundation
5 // Package: Text
6 // Module:  ASCIIEncoding
7 //
8 // Definition of the ASCIIEncoding class.
9 //
10 // Copyright (c) 2004-2007, Applied Informatics Software Engineering GmbH.
11 // and Contributors.
12 //
13 // SPDX-License-Identifier:	BSL-1.0
14 //
15 
16 
17 #ifndef Foundation_ASCIIEncoding_INCLUDED
18 #define Foundation_ASCIIEncoding_INCLUDED
19 
20 
21 #include "Poco/Foundation.h"
22 #include "Poco/TextEncoding.h"
23 
24 
25 namespace Poco {
26 
27 
28 class Foundation_API ASCIIEncoding: public TextEncoding
29 	/// 7-bit ASCII text encoding.
30 {
31 public:
32 	ASCIIEncoding();
33 	~ASCIIEncoding();
34 	const char* canonicalName() const;
35 	bool isA(const std::string& encodingName) const;
36 	const CharacterMap& characterMap() const;
37 	int convert(const unsigned char* bytes) const;
38 	int convert(int ch, unsigned char* bytes, int length) const;
39 	int queryConvert(const unsigned char* bytes, int length) const;
40 	int sequenceLength(const unsigned char* bytes, int length) const;
41 
42 private:
43 	static const char* _names[];
44 	static const CharacterMap _charMap;
45 };
46 
47 
48 } // namespace Poco
49 
50 
51 #endif // Foundation_ASCIIEncoding_INCLUDED
52