# 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: icompare, removeBOM, toLower, toLowerInPlace, toUpper, toUpperInPlace

## Member Functions

### 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
);