Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
idn2_to_ascii_4i2(3)		    libidn2		  idn2_to_ascii_4i2(3)

NAME
       idn2_to_ascii_4i2 - API function

SYNOPSIS
       #include	<idn2.h>

       int  idn2_to_ascii_4i2(const  uint32_t  *  input, size_t	inlen, char **
       output, int flags);

ARGUMENTS
       const uint32_t *	input
		   zero	terminated input Unicode (UCS-4) string.

       size_t inlen
		   number of elements in  input	.

       char ** output
		   pointer to newly allocated zero-terminated output string.

       int flags   optional idn2_flags to modify behaviour.

DESCRIPTION
       The ToASCII operation takes a sequence of Unicode code points that make
       up one domain label and transforms it into a sequence of	code points in
       the ASCII range (0..7F).	If ToASCII succeeds, the original sequence and
       the resulting sequence are equivalent labels.

       It is important to note that the	ToASCII	operation can  fail.   ToASCII
       fails  if  any  step  of	it fails. If any step of the ToASCII operation
       fails on	any label in a domain name, that domain	name MUST NOT be  used
       as  an internationalized	domain name.  The method for dealing with this
       failure is application-specific.

       The inputs to ToASCII are a sequence of code points.

       ToASCII never alters a sequence of code points  that  are  all  in  the
       ASCII  range  to	 begin	with  (although	 it  could fail). Applying the
       ToASCII operation multiple effect as applying it	just once.

       The default behavior of this function (when flags are zero) is to apply
       the IDNA2008 rules without the TR46 amendments. As the TR46 non-transi-
       tional processing is nowadays ubiquitous, when  unsure,	it  is	recom-
       mended  to  call	 this  function	 with the IDN2_NONTRANSITIONAL and the
       IDN2_NFC_INPUT flags for	compatibility with other software.

RETURNS
       On successful conversion	IDN2_OK	is returned; if	the output label would
       have been too long IDN2_TOO_BIG_LABEL is	 returned,  or	another	 error
       code is returned.

SINCE
       2.1.1

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 (C) 2002-2025 Simon Josefsson.
       Copying	and  distribution  of this file, with or without modification,
       are permitted in	any medium without royalty provided the	copyright  no-
       tice 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/

libidn2				     2.3.8		  idn2_to_ascii_4i2(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=idn2_to_ascii_4i2&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help