Struct Poco::UTF8
Author: Applied Informatics Software Engineering GmbH and Contributors

# Poco

# struct UTF8

Library: Foundation
Package: Text
Header: Poco/UTF8String.h

## Description

This class provides static methods that are UTF-8 capable variants of the same functions in Poco/String.h.

The various variants of icompare() provide case insensitive comparison for UTF-8 encoded strings.

toUpper(), toUpperInPlace(), toLower() and toLowerInPlace() provide Unicode-based character case transformation for UTF-8 encoded strings.

removeBOM() removes the UTF-8 Byte Order Mark sequence (0xEF, 0xBB, 0xBF) from the beginning of the given string, if it's there.

## Member Summary

Member Functions: escape, icompare, removeBOM, toLower, toLowerInPlace, toUpper, toUpperInPlace, unescape

## Member Functions

### escape

static std::string escape(
const std::string & s
);

Escapes a string. Special characters like tab, backslash, ... are escaped. Unicode characters are escaped to \uxxxx.

### escape

static std::string escape(
const std::string::const_iterator & begin,
const std::string::const_iterator & end
);

Escapes a string. Special characters like tab, backslash, ... are escaped. Unicode characters are escaped to \uxxxx.

### icompare

static int icompare(
const std::string & str,
std::string::size_type pos,
std::string::size_type n,
std::string::const_iterator it2,
std::string::const_iterator end2
);

### icompare

static int icompare(
const std::string & str1,
const std::string & str2
);

### icompare

static int icompare(
const std::string & str1,
std::string::size_type n1,
const std::string & str2,
std::string::size_type n2
);

### icompare

static int icompare(
const std::string & str1,
std::string::size_type n,
const std::string & str2
);

### icompare

static int icompare(
const std::string & str1,
std::string::size_type pos,
std::string::size_type n,
const std::string & str2
);

### icompare

static int icompare(
const std::string & str1,
std::string::size_type pos1,
std::string::size_type n1,
const std::string & str2,
std::string::size_type pos2,
std::string::size_type n2
);

### icompare

static int icompare(
const std::string & str1,
std::string::size_type pos1,
std::string::size_type n,
const std::string & str2,
std::string::size_type pos2
);

### icompare

static int icompare(
const std::string & str,
std::string::size_type pos,
std::string::size_type n,
const std::string::value_type * ptr
);

### icompare

static int icompare(
const std::string & str,
std::string::size_type pos,
const std::string::value_type * ptr
);

### icompare

static int icompare(
const std::string & str,
const std::string::value_type * ptr
);

### removeBOM

static void removeBOM(
std::string & str
);

Remove the UTF-8 Byte Order Mark sequence (0xEF, 0xBB, 0xBF) from the beginning of the string, if it's there.

### toLower

static std::string toLower(
const std::string & str
);

### toLowerInPlace

static std::string & toLowerInPlace(
std::string & str
);

### toUpper

static std::string toUpper(
const std::string & str
);

### toUpperInPlace

static std::string & toUpperInPlace(
std::string & str
);

### unescape

static std::string unescape(
const std::string & s
);

Creates an UTF8 string from a string that contains escaped characters.

### unescape

static std::string unescape(
const std::string::const_iterator & begin,
const std::string::const_iterator & end
);

Creates an UTF8 string from a string that contains escaped characters.