---
name: "unicode::tolower"
section: "3"
platform: "linux"
package: "libcourier-unicode-dev"
version: "2.3.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/unicode::tolower"
---

# unicode::tolower(3)

unicode version of tolower(3) and toupper(3)

## NAME

unicode::tolower, unicode::toupper - unicode version of [**tolower**(3)](/tolower/3.md) and [**toupper**(3)](/toupper/3.md)

## SYNOPSIS

```
#include <courier-unicode.h>
```

**std::string unicode::tolower(const std::string &***string***);**

**std::string unicode::tolower(const std::string &***string***, const std::string &***charset***);**

**std::u32string unicode::tolower(const std::u32string &***u***);**

**std::string unicode::toupper(const std::string &***string***);**

**std::string unicode::toupper(const std::string &***string***, const std::string &***charset***);**

**std::u32string unicode::toupper(const std::u32string &***u***);**

## DESCRIPTION

These functions convert the *string* parameter, in *charset* or [**unicode\_default\_chset**(3)](/unicode_default_chset/3.md), to unicode, replace each character with [**unicode\_lc**(3)](/unicode_lc/3.md) or [**unicode\_uc**(3)](/unicode_uc/3.md), then convert it back to the same character set, returning the resulting string.

Passing a const std::u32string & directly also converts it accordingly, returning the converted unicode string.

## SEE ALSO

[**courier-unicode**(7)](/courier-unicode/7.md).

## AUTHOR

**Sam Varshavchik**

Author
