PLCnext API Documentation 25.0.2.69
Utf16.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Commons/Encoding/EncodingResult.hpp"
9
10namespace Arp { namespace System { namespace Commons { namespace Encoding
11{
12
14class Utf16
15{
16public: // construction/destruction/assignment
17 Utf16(void) = delete;
18
19public: // static operations
20 static EncodingResult ConvertToUtf8(const char16* pInput, size_t inputLength, char8* pResult, size_t resultCapacity, size_t& resultLength);
21 static EncodingResult ConvertToUtf8(const char16* pInput, size_t inputLength, String& result);
22
23 static EncodingResult ConvertFromUtf8(const char8* pInput, size_t inputLength, char16* pResult, size_t resultCapacity, size_t& resultLength);
24 static EncodingResult ConvertFromUtf8(const String& input, char16* pResult, size_t resultCapacity, size_t& resultLength);
25
26private: // static methods
27 static EncodingResult MapEncodingResult(int value);
28};
29
30}}}} // end of namespace Arp::System::Commons::Encoding
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This static class provides encoding string operations from UTF8 to UTF16 or vice versa.
Definition: Utf16.hpp:15
static EncodingResult ConvertFromUtf8(const char8 *pInput, size_t inputLength, char16 *pResult, size_t resultCapacity, size_t &resultLength)
This operation encodes an UTF8 string to an UTF16 string.
Definition: Utf16.cpp:109
static EncodingResult ConvertToUtf8(const char16 *pInput, size_t inputLength, char8 *pResult, size_t resultCapacity, size_t &resultLength)
This operation encodes an UTF16 string to an UTF8 string.
Definition: Utf16.cpp:21
char char8
The Arp character type of 1 byte size.
Definition: PrimitiveTypes.hpp:45
char16_t char16
The Arp character type of 2 byte size.
Definition: PrimitiveTypes.hpp:49
EncodingResult
This enum defines encoding results for operations of class Utf16.
Definition: EncodingResult.hpp:16
Root namespace for the PLCnext API