---
name: "stringprep_ucs4_to_utf8"
section: "3"
platform: "linux"
package: "libidn"
version: "1.44-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/stringprep_ucs4_to_utf8"
---

# stringprep\_ucs4\_to\_utf8(3)

API function

## NAME

stringprep\_ucs4\_to\_utf8 - API function

## SYNOPSIS

**#include \<stringprep.h\>**

**char \* stringprep\_ucs4\_to\_utf8(const uint32\_t \*** *str***, ssize\_t** *len***, size\_t \*** *items\_read***, size\_t \*** *items\_written***);**

## ARGUMENTS

- const uint32\_t \* str

  a UCS-4 encoded string

- ssize\_t len

  the maximum length of  *str* to use. If  *len* \< 0, then the string is terminated with a 0 character.

- size\_t \* items\_read

  location to store number of characters read read, or **NULL**.

- size\_t \* items\_written

  location to store number of bytes written or **NULL**. The value here stored does not include the trailing 0 byte.

## DESCRIPTION

Convert a string from a 32-bit fixed width representation as UCS-4. to UTF-8. The result will be terminated with a 0 byte.

Return value: a pointer to a newly allocated UTF-8 string. This value must be deallocated by the caller. If an error occurs, **NULL** will be returned.

## REPORTING BUGS

Report bugs to \<help-libidn@gnu.org\>.\
 General guidelines for reporting bugs: https://www.gnu.org/gethelp/\
 GNU Libidn home page: https://www.gnu.org/software/libidn/

## COPYRIGHT

Copyright © 2002-2026 Simon Josefsson.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **libidn** is maintained as a Texinfo manual.  If the **info** and **libidn** programs are properly installed at your site, the command

-

  **info libidn**

should give you access to the complete manual. As an alternative you may obtain the manual from:

-

  **https://www.gnu.org/software/libidn/manual/**
