idn2_to_unicode_8z8z(3)
β¨ idn2_to_unicode_8z8z β¨
okay bestie, welcome to libidn2's cutest little decoder π this page is the manual for idn2_to_unicode_8z8z(3), which is an API function β yes, the manual name is idn2_to_unicode_8z8z(3) and it lives in the libidn2 manual, section 3. iykyk π«Ά
π SYNOPSIS π
#include <idn2.h>
int idn2_to_unicode_8z8z(const char * input, char ** output, int flags);
she's giving "one include, one call, go off" β¨
π ARGUMENTS π
const char * inputβ the input, fr fr. it's a zero-terminated UTF-8 string, that's the vibe.char ** outputβ the output π this one's a newly allocated UTF-8 output string, so like, she's fresh out of the box, nobody else has touched her.int flagsβ currently unused π literally just sitting there. iconic behaviour honestly, but bestie, do not invent meaning for her. she does nothing right now.
π DESCRIPTION π
so what does she actually do?? she converts a possibly ACE encoded domain name in UTF-8 format into a UTF-8 string β that's the punycode decoding step, bestie π¦ think xn--... walks in, human-readable Unicode walks out. main character transformation, no cap.
the output buffer will be zero-terminated β¨ and it must be deallocated by the caller β that's you, that's your job, do not ghost her after you're done or she will just sit there in memory forever π
and here's the lil trick that's lowkey so good:
outputmay beNULLto test lookup ofinputwithout allocating memory. π
so if you just wanna know "does this even resolve / is this even valid" and you don't need the actual string, pass NULL and she won't allocate a single byte. efficient queen πΈ
β SINCE β
2.0.0 β she's been here since 2.0.0, an OG π
π REPORTING BUGS π
found a bug? don't suffer in silence, bestie π report it to <help-libidn@gnu.org>.
general guidelines for reporting bugs live at: https://www.gnu.org/gethelp/
and the Libidn2 home page is right here: 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. π (yes that's the actual legal text, and yes it's genuinely that chill β slay.)
πΈ 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/
okay that's the whole page, bestie!! π«Ά this was libidn2, version 2.3.8, serving you idn2_to_unicode_8z8z(3) realness. go decode something cute. mwah π
π
π¦ where this page comes from
- alpine 3.23: libidn2-doc 2.3.8-r0 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- alpine 3.24: libidn2-doc 2.3.8-r0 Β· GPL-2.0-or-later OR LGPL-3.0-or-later
- arch rolling: libidn2 2.3.8-1 Β· GPL2 AND LGPL3
- debian trixie: libidn2-dev 2.3.8-2 Β· GPL-3.0-or-later
- fedora 43: libidn2-devel 2.3.8-2.fc43 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- fedora 43: libidn2-devel 2.3.8-2.fc43 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- fedora 44: libidn2-devel 2.3.8-3.fc44 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- fedora 44: libidn2-devel 2.3.8-3.fc44 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- opensuse-leap 16.0: libidn2-devel 2.3.8-160000.2.2 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- opensuse-leap 16.0: libidn2-devel 2.3.8-160000.2.2 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- opensuse-leap 16.0: libidn2-devel 2.3.8-160000.2.2 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- opensuse-leap 16.0: libidn2-devel 2.3.8-160000.2.2 Β· (GPL-2.0-or-later OR LGPL-3.0-or-later) AND GPL-3.0-or-later
- ubuntu questing: libidn2-dev 2.3.8-4
- ubuntu resolute: libidn2-dev 2.3.8-4build1 Β· GPL-3.0-or-later
- ubuntu stonking: libidn2-dev 2.3.8-5 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms