Content deleted Content added
No edit summary |
Copy and translate from https://fr.wikipedia.org/w/index.php?title=GNU_Libidn&oldid=209696660 |
||
Line 1:
{{ébauche|logiciels libres}}
{{Infobox Logiciel
| couleur boîte = <!-- pour adapter la couleur de la boîte au logo -->
| nom = GNU Libidn
| logo = Official gnu.svg
| image =
| légende =
| développeur = Simon Josefsson, [[projet GNU]]
| date de première version =
| dernière version = <!-- Utilisation du modèle « Modèle:Dernière version stable/GNU Libidn » -->
| date de dernière version = <!-- idem -->
| version avancée =
| date de version avancée =
| langage de programmation = [[C (langage)|C]]
| environnement = [[GNU/Linux]], [[FreeBSD]], [[NetBSD]], [[OpenBSD]], [[GNU]], [[Unix]], [[Solaris (système d'exploitation)|Solaris]], [[IRIX]], [[AIX]], [[Tru64 UNIX|Tru64]], [[Microsoft Windows|MS Windows]]
| langues =
| type = [[Bibliothèque logicielle]]
| licence = [[GNU LGPL]]
| site web = {{URL|https://www.gnu.org/software/libidn/}}
}}
'''GNU Libidn''' is a [[software library]] designed for the encoding and decoding of internationalized ___domain names according to the [[Stringprep]], [[Punycode]], and [[Internationalized ___domain name|IDNA]] specifications. It is developed and maintained by ''Simon Josefsson'' as part of the [[GNU Project]]. The library is written in [[C (programming language)|C]], and a portion of the [[Application programming interface|API]] is also accessible in [[C++]], [[Emacs Lisp]], [[Python (programming language)|Python]], and [[Java (programming language)|Java]]. Implementations in [[Java (programming language)|Java]] and [[C sharp|C#]] are provided natively and distributed under the terms of the [[GNU Lesser General Public License]].
== History ==
The library was originally named ''Libstringprep''<ref>{{en}} [http://www.ops.ietf.org/lists/idn/idn.2002/msg01944.html A version of Libstringprep] distributed by Simon Josefsson on November 6, 2002.</ref> before becoming a GNU project.
== Technical Features ==
The library contains a generic implementation of [[Stringprep]]. Profiles such as {{Link|fr= Nameprep|lang=en|trad=Nameprep|text=Nameprep}}, [[iSCSI]], [[Extensible Messaging and Presence Protocol|XMPP]], and [[Kerberos (protocol)|Kerberos version 5]] are also included. [[Punycode]] and ACE (''ASCII Compatible Encoding'') in the context of an [[internationalized ___domain name]] are supported. A mechanism for defining validation tables for a [[top-level ___domain]] (''TLD'') and comparing [[character string|character strings]] from these tables is included. Default tables for certain TLDs are even included.
=== Stringprep ===
The [[Application programming interface|API]] for Stringprep consists of two [[Routine (computing)|functions]], "''[[Main (disambiguation)|main]]''", the first for converting data from the native representation of a system to [[UTF-8]], and the second for Stringprep processing. This simplifies the use of a Stringprep profile in an [[Application software|application]].
=== Punycode ===
The Punycode API consists of two functions, one for encoding, and the other for decoding.
=== IDNA ===
The IDNA API consists of two encoding functions, the first towards [[American Standard Code for Information Interchange|ASCII]]<ref>''ToASCII'' function.</ref>, the second towards [[Unicode]]<ref>''ToUnicode'' function.</ref>, as well as a high-level [[Interface (computing)|interface]] for the conversion between [[___domain name|___domain names]] and their ACE (''ASCII Compatible Encoding'') representation.
=== TLD ===
The TLD '''API''' includes several functions to extract [[top-level ___domain]] names from a ___domain represented in character strings, others to locate the appropriate TLD table for use in the relevant top-level ___domain, others to validate a character string on a TLD table, and several [[adapter (programming)|adapter]] functions to perform all these steps in a single call.
== Usage by the GNU Project ==
GNU Libidn is used by [[GNU SASL]] and [[GNU Shishi]] to process usernames and passwords.
== See Also ==
[[Stringprep]]
[[Internationalized ___domain name|IDNA]]
[[Punycode]]
== Notes and References ==
{{references}}
== External Links ==
[http://savannah.gnu.org/git/?group=libidn Git Repository] on [[GNU Savannah]] software [[forge]].
{{GNU Palette}}
{{Portal|free software|computer programming|Semantic Web}}
{{DEFAULTSORT:Libidn, Gnu}}
[[Category:Software of the GNU Project]]
[[Category:Software libraries]]
[[Category:Free software licensed under the LGPL]]
== References ==
|