24 static std::string
GetBomEncoding(
const char*
const content,
const size_t contentLength);
34 static inline bool DetectXmlEncoding(
const std::string& xmlContent, std::string& detectedEncoding)
35 {
return DetectXmlEncoding(xmlContent.c_str(), xmlContent.length(), detectedEncoding); }
37 static bool DetectXmlEncoding(
const char*
const xmlContent,
const size_t contentLength, std::string& detectedEncoding);
46 static inline bool ConvertHtmlToUtf8(
const std::string& htmlContent, std::string& converted,
const std::string& serverReportedCharset =
"")
48 std::string usedHtmlCharset;
49 return ConvertHtmlToUtf8(htmlContent, converted, serverReportedCharset, usedHtmlCharset);
59 static bool ConvertHtmlToUtf8(
const std::string& htmlContent, std::string& converted,
const std::string& serverReportedCharset, std::string& usedHtmlCharset);
69 static bool ConvertPlainTextToUtf8(
const std::string& textContent, std::string& converted,
const std::string& serverReportedCharset, std::string& usedCharset);
72 static bool GetXmlEncodingFromDeclaration(
const char*
const xmlContent,
const size_t contentLength, std::string& declaredEncoding);
81 static bool GuessXmlEncoding(
const char*
const xmlContent,
const size_t contentLength, std::string& supposedEncoding);
83 static std::string GetHtmlEncodingFromHead(
const std::string& htmlContent);
84 static size_t GetHtmlAttribute(
const std::string& htmlContent,
size_t pos, std::string& atrName, std::string& strValue);
85 static std::string ExtractEncodingFromHtmlMeta(
const std::string& metaContent,
size_t pos = 0);
87 static bool checkConversion(
const std::string& srcCharset,
const std::string& src, std::string& dst);
88 static void appendCharAsAsciiUpperCase(std::string& str,
const char chr);
90 static const size_t m_XmlDeclarationMaxLength;
91 static const size_t m_HtmlCharsetEndSearchPos;
93 static const std::string m_HtmlWhitespaceChars;
static bool ConvertPlainTextToUtf8(const std::string &textContent, std::string &converted, const std::string &serverReportedCharset, std::string &usedCharset)
Try to convert plain text to UTF-8 using best suitable charset.
Definition: CharsetDetection.cpp:349
static std::string GetBomEncoding(const std::string &content)
Detect text encoding by Byte Order Mark Multibyte encodings (UTF-16/32) always ends with explicit end...
Definition: CharsetDetection.h:31
static std::string GetBomEncoding(const char *const content, const size_t contentLength)
Detect text encoding by Byte Order Mark Multibyte encodings (UTF-16/32) always ends with explicit end...
Definition: CharsetDetection.cpp:32
Definition: LibInputPointer.h:13
static bool ConvertHtmlToUtf8(const std::string &htmlContent, std::string &converted, const std::string &serverReportedCharset="")
Detect HTML charset and HTML convert to UTF-8.
Definition: CharsetDetection.h:46
Definition: CharsetDetection.h:14