1//
2// Latin1Encoding.h
3//
4// Library: Foundation
5// Package: Text
6// Module: Latin1Encoding
7//
8// Definition of the Latin1Encoding 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_Latin1Encoding_INCLUDED
18#define Foundation_Latin1Encoding_INCLUDED
19
20
21#include "Poco/Foundation.h"
22#include "Poco/TextEncoding.h"
23
24
25namespace Poco {
26
27
28class Foundation_API Latin1Encoding: public TextEncoding
29 /// ISO Latin-1 (8859-1) text encoding.
30{
31public:
32 Latin1Encoding();
33 ~Latin1Encoding();
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
42private:
43 static const char* _names[];
44 static const CharacterMap _charMap;
45};
46
47
48} // namespace Poco
49
50
51#endif // Foundation_Latin1Encoding_INCLUDED
52