ForHosting KIT · Outils pour développeurs

Convertisseur UUID vers entier

550e8400-e29b-41d4-a716-446655440000 correspond à l'entier sur 128 bits 113059749145936325402354257176981405696 : collez un UUID, un entier décimal ou un hexadécimal pour obtenir les trois formes des mêmes bits, ainsi que la version et la variante. 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
Valeur
550e8400-e29b-41d4-a716-446655440000
Vous obtenez
UUID
550e8400-e29b-41d4-a716-446655440000
Entier
113059749145936325402354257176981405696
Hex
550e8400e29b41d4a716446655440000
Hexadécimal préfixé
0x550e8400e29b41d4a716446655440000

Un UUID est un identifiant de cent vingt-huit bits généralement écrit comme trente-deux chiffres hexadécimaux groupés 8-4-4-4-12 avec des tirets. Les bases de données, files d’attente et index compacts stockent souvent les mêmes bits sous forme d’entier non signé ou de chaîne hex nue, et comparer ces formes à l’œil est une source fréquente d’erreurs. Ce convertisseur UUID vers entier accepte un UUID à tirets, un entier décimal de 128 bits ou une représentation hexadécimale et renvoie les trois à partir du même motif de bits. La correspondance suit la disposition big-endian de RFC 4122 : on concatène les seize octets et on les lit comme un entier non signé de 128 bits.

Ce qu’est l’entier d’un UUID et comment les bits se correspondent

RFC 4122 et ITU-T X.667 définissent un UUID comme exactement seize octets. Dans l’orthographe habituelle à tirets, ces octets apparaissent comme trente-deux chiffres hexadécimaux dans les groupes 8-4-4-4-12. Lire ces mêmes seize octets comme un seul entier non signé en ordre réseau (big-endian) est la correspondance UUID vers entier utilisée par ce convertisseur et par des bibliothèques courantes telles que le constructeur integer de uuid.UUID en Python.

Les huit premiers chiffres hex sont les trente-deux bits de poids fort ; les douze derniers chiffres hex sont les quarante-huit bits de poids faible. La version vit dans le nibble haut du septième octet (le caractère à l’index hex douze) et la variante dans les bits hauts du neuvième octet (index hex seize). Ces champs sont signalés pour que vous puissiez voir si une valeur est un UUID RFC 4122, une forme réservée NCS, une variante Microsoft ou un autre motif réservé, sans modifier l’entier.

L’UUID nul est l’entier zéro. L’UUID maximal, trente-deux caractères f, est deux à la puissance cent vingt-huit moins un.

Où un convertisseur UUID vers entier apporte une vraie valeur

Les schémas relationnels qui stockent les identifiants comme entiers non signés de 128 bits ou comme BINARY(16) ont besoin d’un aller-retour déterministe depuis la forme à tirets que les développeurs copient des journaux. Les enseignants qui expliquent la disposition des identifiants peuvent garder les bits fixes et montrer comment version et variant siègent dans le même mot de 128 bits. Une validation en échec ne consomme pas le solde.

Limitez les requêtes à un seul identifiant, ancrez uuid, integer et hex dans vos tests, et vous obtenez des conversions reproductibles pour les migrations, le stockage compact et la comparaison inter-formats sans dresser une bibliothèque UUID dans chaque service que vous livrez.

Stockage compact en base et BINARY(16)

Transformez un UUID à tirets issu des journaux applicatifs en l’entier exact de 128 bits ou l’hex à 32 chiffres que votre table ou colonne BINARY(16) stocke.

Peut-on convertir dans l’autre sens, d’un entier ou de l’hex vers un UUID ?

Oui. Passez une chaîne d’entier décimal ou de hex (0x facultatif, au plus 32 chiffres). Le même motif de bits revient en UUID à tirets, décimal et hex.

S’agit-il de la disposition GUID Microsoft à endianness mixte en mémoire ?

Non. L’entier est la lecture big-endian des seize octets selon RFC 4122 / ITU-T X.667. Les trois premiers champs à tirets ne sont pas permutés d’octet.

À quel entier correspond 550e8400-e29b-41d4-a716-446655440000 ?

Il correspond à 113059749145936325402354257176981405696, et sa forme hexadécimale compacte est 550e8400e29b41d4a716446655440000. L'outil indique aussi qu'il s'agit d'un UUID de version 4 avec la variante RFC 4122.

Pourquoi le résultat décimal est-il donné en texte et non en nombre ?

Parce que les nombres JavaScript perdent en précision au-delà de deux puissance 53 moins un, alors qu'un UUID peut atteindre deux puissance 128 moins un. En texte, chaque chiffre reste exact et aucun bit n'est perdu.

Quelles sont la plus petite et la plus grande valeur possibles ?

L'UUID nul, uniquement des zéros, correspond à l'entier 0. Le plus grand, 32 caractères f, vaut deux puissance 128 moins un. Tout entier décimal saisi doit se situer entre ces deux limites.

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/dev/uuid-to-integer

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/dev/uuid-to-integer \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"550e8400-e29b-41d4-a716-446655440000"}'
{
  "value": "550e8400-e29b-41d4-a716-446655440000"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.uuid_to_integer",
  "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.

Ce qu’est l’entier d’un UUID et comment les bits se correspondent

Ce n’est pas la disposition GUID à endianness mixte en mémoire employée par certaines API Microsoft, où les trois premiers champs sont stockés en little-endian : cet outil n’échange jamais ces champs, si bien qu’une chaîne à tirets produit toujours le même entier que vous obtiendriez en concaténant l’hex et en l’analysant en base seize. Parce que les nombres JavaScript perdent les entiers au-delà de deux à la puissance cinquante-trois moins un, la forme décimale est toujours renvoyée comme chaîne exacte ; le champ numérique decimal_number n’apparaît que lorsque la valeur est un entier sûr.

Contrat d’entrée, formats acceptés et forme de la réponse

L’entrée à tirets est insensible à la casse et est toujours renvoyée en minuscules canoniques. Les entiers décimaux peuvent porter un plus initial et doivent se situer entre zéro et deux à la puissance cent vingt-huit moins un inclus. Exemple : value 550e8400-e29b-41d4-a716-446655440000 est un UUID RFC 4122 version 4 dont l’hex est 550e8400e29b41d4a716446655440000. Envoyez un corps JSON avec le champ obligatoire value : l’identifiant dans toute orthographe prise en charge. Le from facultatif vaut auto par défaut et peut être uuid, integer ou hex lorsque vous devez forcer une analyse. La détection automatique privilégie un UUID à tirets, y compris un préfixe facultatif urn:uuid: ou des accolades enveloppantes ; puis une chaîne hex préfixée 0x ; ensuite une chaîne hex compacte de trente-deux chiffres (l’UUID sans tirets) ; puis un entier décimal ; enfin une suite hex plus courte complétée à gauche jusqu’à trente-deux chiffres. Les alias uuid, text, input et id sont acceptés pour value, et format ou mode pour from. Les nombres JSON ne sont acceptés que s’ils sont des entiers sûrs ; les valeurs 128 bits plus larges doivent arriver en chaînes afin qu’aucun bit ne soit perdu. Un value manquant, des chaînes vides, des entiers négatifs, plus de trente-deux chiffres hex et un texte qui ne correspond à aucune des trois formes échouent avec invalid_input en nommant le problème ; ces échecs ne sont pas facturés. En cas de succès le corps inclut uuid (minuscules canoniques à tirets), integer (chaîne décimale exacte), hex (trente-deux chiffres minuscules), hex_prefixed (les mêmes chiffres avec préfixe 0x), input_format (uuid, integer ou hex), version (0–15), variant (ncs, rfc4122, microsoft ou reserved) et bit_width 128.

Où un convertisseur UUID vers entier apporte une vraie valeur

Les bus de messages et les clés d’entrepôt comparent souvent une colonne hex compacte à un UUID à tirets issu d’une API amont ; convertir les deux vers le même entier (ou le même hex de trente-deux chiffres) évite les faux écarts dus à la casse, aux accolades ou à un préfixe urn:uuid:. Comme l’implémentation est du parse pur de palier A, chaque appel réussi coûte le tarif de base publié $0.002 sans jetons de modèle ni réseau sortant.

Comparaison d’identifiants entre formats

Normalisez les UUID à tirets, les littéraux hex 0x et les clés décimales vers un seul entier pour que jointures d’entrepôt et diffs d’API ne cassent pas sur l’orthographe.

Fixtures et oracles de test multi-langages

Générez un triplet canonique uuid / integer / hex et affirmez que chaque bibliothèque cliente encode les mêmes bits big-endian de RFC 4122.

Comment convertir un UUID en entier de 128 bits ?

Envoyez value comme un UUID à tirets (urn:uuid: ou accolades facultatifs). L’API renvoie integer comme chaîne décimale exacte, plus hex et l’UUID canonique en minuscules.

Pourquoi l’entier est-il une chaîne plutôt qu’un nombre JSON ?

La plupart des UUID dépassent la plage d’entiers sûrs de JavaScript (2^53−1). La chaîne décimale est toujours exacte. decimal_number n’est inclus que lorsque la valeur est un entier sûr.

Combien coûte le convertisseur UUID vers entier ?

L’outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n’est pas facturée.

Consulter la documentation complète du KIT →