ForHosting KIT · Outils pour développeurs

Convertisseur Punycode

L'étiquette münchen devient xn--mnchen-3ya, la forme ASCII acceptée par les enregistrements de domaine, les certificats et les anciens systèmes. Encodez une étiquette Unicode à la fois, ou décodez une étiquette xn-- en lettres lisibles. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Texte
münchen
Mode de calcul
Encode
Vous obtenez
Résultat
xn--mnchen-3ya
Texte Unicode
münchen
Corps Punycode
mnchen-3ya

Les noms de domaine internationalisés ont besoin d'un encodage compatible ASCII pour que le DNS, les certificats et les résolveurs hérités transportent des étiquettes avec trémas, accents, cyrillique, arabe ou caractères CJK. Punycode (RFC 3492) est l'algorithme Bootstring derrière le préfixe xn-- familier des A-labels IDNA. Cette capacité encode une seule étiquette de domaine Unicode dans cette forme ACE, ou décode un corps ACE ou Punycode brut vers le U-label Unicode d'origine, avec un champ mode simple et une arithmétique entière déterministe. Caractères d'alphabet invalides, corps xn-- vides, substituts isolés et chaînes multi-étiquettes avec des points sont rejetés avec une erreur d'entrée invalide claire plutôt qu'une corruption silencieuse.

Encodez une étiquette de domaine Unicode en Punycode ACE (xn--)

Le moteur met l'étiquette en minuscules de façon indépendante de la locale, rejette les chaînes vides, les espaces, les caractères de contrôle et tout point intégré pour que vous ne traitiez jamais par accident un nom d'hôte multi-étiquettes complet comme une seule étiquette DNS. Les étiquettes ASCII pures passent inchangées sans préfixe xn--, conformément à la pratique IDNA pour les noms LDH.

Lorsque l'étiquette contient un point de code non ASCII, le moteur exécute l'encodeur Punycode RFC 3492 et préfixe le résultat avec xn-- pour produire l'A-label utilisé dans les fichiers de zone DNS, les SAN de certificats et les affichages WHOIS. La réponse inclut result (l'étiquette ACE ou ASCII), unicode (le U-label replié), punycode (le corps sans le préfixe xn--), ace vrai ou faux, mode encode et method rfc3492 pour que les tests épinglent chaque champ.

Des entrées identiques produisent toujours des sorties identiques car le chemin est une arithmétique pure sans réseau, sans sel aléatoire et sans horloge murale. Utilisez ce chemin lorsque vous avez besoin d'un A-label sûr à coller pour une checklist de migration, une ligne de zone ou un ticket de support qui doit survivre à des systèmes n'acceptant que des noms d'hôte ASCII.

Décodez ACE ou Punycode en Unicode et gérez les entrées invalides

Réglez mode sur decode et placez une étiquette ACE telle que xn--mnchen-3ya ou un corps Punycode brut tel que mnchen-3ya dans text. Le moteur retire un préfixe xn-- initial lorsqu'il est présent, valide que le corps n'utilise que l'alphabet de base des lettres, chiffres et tirets internes, puis exécute le décodeur RFC 3492 pour récupérer les points de code Unicode—y compris les caractères du plan supplémentaire représentés par des paires de substituts dans les chaînes JavaScript.

Un decode réussi renvoie result et unicode comme le U-label, punycode comme le corps, ace vrai lorsque l'entrée portait le préfixe xn--, mode decode et method rfc3492. Préférez cette capacité lorsque votre intention de recherche est un convertisseur punycode pour des étiquettes de domaine lisibles ; le découpage d'hostname complet, la recherche de suffixe public et la résolution DNS en direct appartiennent à d'autres outils.

L'utiliser pour vos domaines, et ses limites

Appelez le convertisseur punycode gratuit dans le navigateur pour des playbooks de support, des démonstrations en classe et des contrôles ponctuels d'étiquettes sans installer OpenSSL ni de runtimes de langage. Un flux typique encode une étiquette de marque Unicode avant d'écrire un A-label dans un modèle de zone, puis décode des noms ACE copiés d'en-têtes de courrier ou de journaux de certificats pour que les opérateurs lisent le U-label prévu. Un autre flux vérifie que les échantillons de documentation font encore l'aller-retour avant une publication.

Les étiquettes DNS sont plafonnées à soixante-trois octets sous forme ACE, et ce moteur applique cette limite à l'encode pour que les étiquettes internationales trop grandes échouent tôt plutôt que de produire des chaînes non déployables.

Préparation de zone DNS et certificats

Encodez des étiquettes de marque ou de ville Unicode en A-labels xn-- avant d'écrire des fichiers de zone, des listes SAN ACME ou des règles d'hôte de proxy inverse n'acceptant que l'ASCII.

Lisibilité support et journaux

Décodez des noms ACE issus d'en-têtes de courrier, de journaux de transparence des certificats et de systèmes de tickets vers un Unicode lisible pour agents et clients.

Comment convertir une étiquette de domaine Unicode en Punycode ?

Le champ result renvoie la forme ACE telle que xn--mnchen-3ya.

Comment décoder une étiquette xn-- en Unicode ?

Réglez mode sur decode et placez l'étiquette ACE (ou le corps Punycode brut sans xn--) dans text. Le champ result renvoie le U-label Unicode lorsque l'encodage est valide.

Que se passe-t-il avec une étiquette Punycode invalide ?

Caractères illégaux, corps xn-- vides, aller-retours échoués, points dans la chaîne et étiquettes vides sont rejetés et non facturés.

Puis-je convertir un nom d'hôte complet à plusieurs étiquettes ?

Non. Cette capacité accepte une étiquette à la fois et rejette les points. Découpez le nom d'hôte et encodez ou décodez chaque étiquette séparément pour des sorties de taille DNS prévisibles.

Pourquoi une étiquette en ASCII pur ne reçoit-elle pas de préfixe xn-- ?

Parce qu'elle n'en a pas besoin : une étiquette faite uniquement de lettres, de chiffres et de tirets ASCII passe telle quelle, comme le veut la pratique des noms de domaine internationalisés. Le préfixe n'apparaît que s'il y a au moins un caractère non ASCII.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/punycode

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/punycode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"münchen"}'
{
  "text": "münchen"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.punycode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Encodez une étiquette de domaine Unicode en Punycode ACE (xn--)

Envoyez un corps JSON avec le champ chaîne obligatoire text égal à une étiquette de domaine en Unicode—par exemple un nom de ville avec tréma, une marque en écriture native ou une étiquette japonaise—et laissez mode à sa valeur par défaut encode ou fixez-le explicitement à encode.

Décodez ACE ou Punycode en Unicode et gérez les entrées invalides

Après décodage il ré-encode et exige un aller-retour exact contre le corps afin que des chaînes ACE tronquées ou éditées à la main échouent en fermeture avec invalid_input au lieu de renvoyer des glyphes plausibles mais faux. Corps vides après xn--, caractères illégaux comme la ponctuation, texte non ASCII proposé pour decode, chaînes multi-étiquettes avec des points et conditions de débordement lèvent un message invalid_input descriptif et ne sont pas facturés sur l'API prépayée.

Usage de l'API, tarification, flux DNS et limites pratiques

Utilisez l'API prépayée KIT lorsqu'un backend, un panneau de registraire, un job d'automatisation de certificats ou un SDK a besoin de la même étape encode ou decode sous solde à $0.002 par élément réussi ; une validation échouée ne consomme jamais le solde après le rejet par le moteur. Traitez chaque étiquette d'un hostname multi-étiquettes séparément—l'API rejette les points par conception pour que la landing SEO corresponde à l'intention de conversion d'une seule étiquette. Les auteurs qui livrent des SDK peuvent mapper le champ result vers un bouton copier tandis que unicode, punycode et les drapeaux ace rendent les exemples OpenAPI auto-explicatifs pour les lecteurs qui découvrent l'IDNA.

Docs et contrôles golden de CI

Épinglez des fixtures encode et decode pour que les échantillons de documentation et les tests d'intégration continue échouent vite si la gestion Punycode ou du préfixe ACE dérive.

Le convertisseur punycode est-il gratuit ?

L'outil navigateur s'exécute gratuitement sur votre appareil. Les appels API utilisent le solde prépayé KIT à $0.002 par élément réussi ; les échecs de validation ne sont pas facturés.

Consulter la documentation complète du KIT →