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

# idn2\_to\_unicode\_4z4z(3)

API function

## NAME

idn2\_to\_unicode\_4z4z - API function

## SYNOPSIS

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

**int idn2\_to\_unicode\_4z4z(const uint32\_t \*** *input***, uint32\_t \*\*** *output***, int** *flags***);**

## ARGUMENTS

- const uint32\_t \* input

  Input zero-terminated UTF-32 string.

- uint32\_t \*\* output

  Newly allocated UTF-32 output string.

- int flags

  Currently unused.

## DESCRIPTION

Converts a possibly ACE encoded domain name in UTF-32 format into a UTF-32 string (punycode decoding). The output buffer will be zero-terminated and must be deallocated by the caller.

 *output* may be NULL to test lookup of  *input* without allocating memory.

## SINCE

2\.0.0

## REPORTING BUGS

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

## COPYRIGHT

Copyright © 2002-2025 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 **libidn2** is maintained as a Texinfo manual.  If the **info** and **libidn2** programs are properly installed at your site, the command

-

  **info libidn2**

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

-

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