ForHosting KIT · Utilidades de desarrollo

Convertidor de UUID a entero

550e8400-e29b-41d4-a716-446655440000 equivale al entero de 128 bits 113059749145936325402354257176981405696: pegue un UUID, un entero decimal o un hexadecimal y obtenga las tres formas de los mismos bits, además de la versión y la variante. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Valor
550e8400-e29b-41d4-a716-446655440000
Obtiene
UUID
550e8400-e29b-41d4-a716-446655440000
Entero
113059749145936325402354257176981405696
Hex
550e8400e29b41d4a716446655440000
Hexadecimal con prefijo
0x550e8400e29b41d4a716446655440000

Un UUID es un identificador de ciento veintiocho bits que suele escribirse como treinta y dos dígitos hexadecimales agrupados 8-4-4-4-12 con guiones. Las bases de datos, las colas y los índices compactos suelen guardar esos mismos bits como un entero sin signo o como una cadena hex desnuda, y comparar esas formas a ojo es una fuente habitual de errores. Este convertidor de UUID a entero acepta un UUID con guiones, un entero decimal de 128 bits o una representación hexadecimal y devuelve las tres a partir del mismo patrón de bits. El mapeo es el diseño big-endian de RFC 4122: se concatenan los dieciséis bytes y se leen como un entero sin signo de 128 bits.

Qué es el entero de un UUID y cómo se mapean los bits

RFC 4122 e ITU-T X.667 definen un UUID como exactamente dieciséis octetos. En la grafía habitual con guiones esos octetos aparecen como treinta y dos dígitos hexadecimales en los grupos 8-4-4-4-12. Leer esos mismos dieciséis bytes como un solo entero sin signo en orden de red (big-endian) es el mapeo de UUID a entero que usa este convertidor y bibliotecas habituales como el constructor integer de uuid.UUID en Python.

Los primeros ocho dígitos hex son los treinta y dos bits más significativos; los últimos doce dígitos hex son los cuarenta y ocho bits menos significativos. La versión vive en el nibble alto del séptimo byte (el carácter en el índice hex doce) y la variante en los bits altos del noveno byte (índice hex dieciséis). Esos campos se informan para que pueda ver si un valor es un UUID RFC 4122, una forma reservada NCS, una variante Microsoft u otro patrón reservado, sin alterar el entero.

El UUID nulo es el entero cero. El UUID máximo, treinta y dos caracteres f, es dos elevado a ciento veintiocho menos uno.

Dónde un convertidor de UUID a entero aporta valor real

Los esquemas relacionales que guardan identificadores como enteros sin signo de 128 bits o como BINARY(16) necesitan una vía determinista para ir y volver desde la forma con guiones que los desarrolladores copian de los registros. Quien enseña el diseño de identificadores puede dejar los bits fijos y mostrar cómo version y variant se alojan en la misma palabra de 128 bits. La validación fallida no consume saldo.

Mantenga las peticiones en un solo identificador, fije uuid, integer y hex en sus pruebas, y obtendrá conversiones reproducibles para migraciones, almacenamiento compacto y comparación entre formatos sin montar una biblioteca de UUID en cada servicio que publique.

Almacenamiento compacto en base de datos y BINARY(16)

Convierta un UUID con guiones de los registros de la aplicación en el entero exacto de 128 bits o el hex de 32 dígitos que guarda su tabla o columna BINARY(16).

¿Puedo convertir al revés, de entero o hex a un UUID?

Sí. Pase una cadena de entero decimal o hex (0x opcional, como máximo 32 dígitos). El mismo patrón de bits se devuelve como UUID con guiones, decimal y hex.

¿Es este el diseño GUID de Microsoft con endianness mixta en memoria?

No. El entero es la lectura big-endian de los dieciséis bytes según RFC 4122 / ITU-T X.667. Los tres primeros campos con guiones no se intercambian de byte.

¿A qué entero corresponde 550e8400-e29b-41d4-a716-446655440000?

Corresponde a 113059749145936325402354257176981405696, y su forma hexadecimal compacta es 550e8400e29b41d4a716446655440000. La herramienta indica además que es un UUID de versión 4 con la variante RFC 4122.

¿Por qué el resultado decimal aparece como texto y no como número?

Porque los números de JavaScript pierden precisión por encima de dos elevado a 53 menos uno, y un UUID puede llegar a dos elevado a 128 menos uno. Como texto, cada cifra se conserva exacta y no se pierde ningún bit.

¿Cuáles son el valor mínimo y el máximo?

El UUID nulo, todo ceros, es el entero 0. El máximo, con 32 caracteres f, equivale a dos elevado a 128 menos uno. Cualquier entero decimal que escriba debe estar entre esos dos límites.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev/uuid-to-integer

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Qué es el entero de un UUID y cómo se mapean los bits

Eso no es el diseño GUID de endianness mixta en memoria que emplean algunas API de Microsoft, donde los tres primeros campos se almacenan en little-endian: esta herramienta nunca intercambia esos campos, de modo que una cadena con guiones produce siempre el mismo entero que obtendría al concatenar el hex y analizarlo en base dieciséis. Como los números de JavaScript pierden enteros por encima de dos elevado a cincuenta y tres menos uno, la forma decimal se devuelve siempre como cadena exacta; el campo numérico decimal_number aparece solo cuando el valor es un entero seguro.

Contrato de entrada, formatos aceptados y forma de la respuesta

La entrada con guiones no distingue mayúsculas y siempre se devuelve en minúsculas canónicas. Los enteros decimales pueden llevar un signo más inicial y deben estar entre cero y dos elevado a ciento veintiocho menos uno, ambos inclusive. Ejemplo: value 550e8400-e29b-41d4-a716-446655440000 es un UUID RFC 4122 de versión 4 cuyo hex es 550e8400e29b41d4a716446655440000. Envíe un cuerpo JSON con el campo obligatorio value: el identificador en cualquiera de las grafías admitidas. El from opcional vale auto por defecto y puede ser uuid, integer o hex cuando necesite forzar un análisis. La detección automática prefiere un UUID con guiones, incluido un prefijo opcional urn:uuid: o llaves envolventes; luego una cadena hex con prefijo 0x; después una cadena hex compacta de treinta y dos dígitos (el UUID sin guiones); a continuación un entero decimal; y por último un tramo hex más corto rellenado a la izquierda hasta treinta y dos dígitos. Se aceptan los alias uuid, text, input e id para value, y format o mode para from. Los números JSON se aceptan solo cuando son enteros seguros; los valores de 128 bits más anchos deben llegar como cadenas para no perder bits. Un value ausente, cadenas vacías, enteros negativos, más de treinta y dos dígitos hex y un texto que no coincida con ninguna de las tres formas fallan con invalid_input nombrando el problema; esos fallos no se facturan. Si tiene éxito, el cuerpo incluye uuid (minúsculas canónicas con guiones), integer (cadena decimal exacta), hex (treinta y dos dígitos en minúsculas), hex_prefixed (los mismos dígitos con prefijo 0x), input_format (uuid, integer o hex), version (0–15), variant (ncs, rfc4122, microsoft o reserved) y bit_width 128.

Dónde un convertidor de UUID a entero aporta valor real

Los buses de mensajes y las claves de almacén suelen comparar una columna hex compacta con un UUID con guiones de una API de origen; convertir ambos al mismo entero (o al mismo hex de treinta y dos dígitos) evita falsos desajustes por mayúsculas, llaves o un prefijo urn:uuid:. Como la implementación es parse puro de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red de salida.

Comparación de identificadores entre formatos

Normalice UUID con guiones, literales hex 0x y claves decimales a un solo entero para que los cruces de almacén y las diferencias de API no fallen por la grafía.

Fixtures y oráculos de prueba en varios lenguajes

Genere un triple canónico uuid / integer / hex y compruebe que cada biblioteca cliente codifica los mismos bits big-endian de RFC 4122.

¿Cómo convierto un UUID en un entero de 128 bits?

Envíe value como un UUID con guiones (opcional urn:uuid: o llaves). La API devuelve integer como cadena decimal exacta, más hex y el UUID canónico en minúsculas.

¿Por qué el entero es una cadena y no un número JSON?

La mayoría de los UUID superan el rango de enteros seguros de JavaScript (2^53−1). La cadena decimal es siempre exacta. decimal_number se incluye solo cuando el valor es un entero seguro.

¿Cuánto cuesta el convertidor de UUID a entero?

La herramienta del navegador es gratuita. Las peticiones API usan saldo prepago KIT a $0.002 por llamada exitosa; la entrada inválida no se factura.

Ver la documentación completa del KIT →