ForHosting KIT · Ferramentas para dev

Conversor de UUID para inteiro

550e8400-e29b-41d4-a716-446655440000 equivale ao inteiro de 128 bits 113059749145936325402354257176981405696: cole um UUID, um inteiro decimal ou um hexadecimal e receba as três formas dos mesmos bits, além da versão e da variante. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Valor
550e8400-e29b-41d4-a716-446655440000
Você obtém
UUID
550e8400-e29b-41d4-a716-446655440000
Inteiro
113059749145936325402354257176981405696
Hex
550e8400e29b41d4a716446655440000
Hexadecimal com prefixo
0x550e8400e29b41d4a716446655440000

Um UUID é um identificador de cento e vinte e oito bits que costuma ser escrito como trinta e dois dígitos hexadecimais agrupados 8-4-4-4-12 com hífens. Bancos de dados, filas e índices compactos frequentemente guardam os mesmos bits como um inteiro sem sinal ou como uma string hex nua, e comparar essas formas no olho é uma fonte comum de bugs. Este conversor de UUID para inteiro aceita um UUID hifenizado, um inteiro decimal de 128 bits ou uma representação hexadecimal e devolve as três a partir do mesmo padrão de bits. O mapeamento é o leiaute big-endian de RFC 4122: concatenam-se os dezesseis bytes e lê-se o resultado como um inteiro sem sinal de 128 bits.

O que é o inteiro de um UUID e como os bits se mapeiam

RFC 4122 e ITU-T X.667 definem um UUID como exatamente dezesseis octetos. Na grafia familiar com hífens esses octetos aparecem como trinta e dois dígitos hexadecimais nos grupos 8-4-4-4-12. Ler os mesmos dezesseis bytes como um único inteiro sem sinal em ordem de rede (big-endian) é o mapeamento de UUID para inteiro usado por este conversor e por bibliotecas comuns como o construtor integer de uuid.UUID no Python.

Os primeiros oito dígitos hex são os trinta e dois bits mais significativos; os últimos doze dígitos hex são os quarenta e oito bits menos significativos. A versão mora no nibble alto do sétimo byte (o caractere no índice hex doze) e a variante nos bits altos do nono byte (índice hex dezesseis). Esses campos são informados para você ver se um valor é um UUID RFC 4122, uma forma reservada NCS, uma variante Microsoft ou outro padrão reservado, sem alterar o inteiro.

O UUID nulo é o inteiro zero. O UUID máximo, trinta e dois caracteres f, é dois elevado a cento e vinte e oito menos um.

Onde um conversor de UUID para inteiro realmente vale a pena

Esquemas relacionais que guardam identificadores como inteiros sem sinal de 128 bits ou como BINARY(16) precisam de um caminho determinístico para ir e voltar da forma hifenizada que os desenvolvedores copiam dos logs. Quem ensina o leiaute de identificadores pode manter os bits fixos e mostrar como version e variant cabem na mesma palavra de 128 bits. Validação que falha não consome saldo.

Mantenha as requisições em um único identificador, fixe uuid, integer e hex nos seus testes, e você obtém conversões reproduzíveis para migrações, armazenamento compacto e comparação entre formatos sem levantar uma biblioteca de UUID em cada serviço que publicar.

Armazenamento compacto em banco e BINARY(16)

Transforme um UUID hifenizado dos logs da aplicação no inteiro exato de 128 bits ou no hex de 32 dígitos que a sua tabela ou coluna BINARY(16) guarda.

Posso converter no outro sentido, de inteiro ou hex de volta para um UUID?

Sim. Passe uma string de inteiro decimal ou hex (0x opcional, no máximo 32 dígitos). O mesmo padrão de bits volta como UUID hifenizado, decimal e hex.

Isto é o leiaute GUID da Microsoft com endianness mista em memória?

Não. O inteiro é a leitura big-endian dos dezesseis bytes segundo RFC 4122 / ITU-T X.667. Os três primeiros campos hifenizados não trocam de byte.

A qual inteiro corresponde 550e8400-e29b-41d4-a716-446655440000?

Corresponde a 113059749145936325402354257176981405696, e a forma hexadecimal compacta é 550e8400e29b41d4a716446655440000. A ferramenta também informa que é um UUID versão 4 com a variante RFC 4122.

Por que o resultado decimal vem como texto e não como número?

Porque os números do JavaScript perdem precisão acima de dois elevado a 53 menos um, e um UUID pode chegar a dois elevado a 128 menos um. Como texto, cada dígito continua exato e nenhum bit se perde.

Quais são o menor e o maior valor possíveis?

O UUID nulo, todo em zeros, é o inteiro 0. O maior, com 32 caracteres f, equivale a dois elevado a 128 menos um. Qualquer inteiro decimal digitado precisa ficar entre esses dois limites.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

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

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

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

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

O que é o inteiro de um UUID e como os bits se mapeiam

Isso não é o leiaute GUID de endianness mista em memória usado por algumas API da Microsoft, em que os três primeiros campos ficam em little-endian: esta ferramenta nunca troca esses campos, então uma string hifenizada produz sempre o mesmo inteiro que você obteria ao concatenar o hex e analisá-lo na base dezesseis. Como os números de JavaScript perdem inteiros acima de dois elevado a cinquenta e três menos um, a forma decimal sempre volta como string exata; o campo numérico decimal_number aparece só quando o valor é um inteiro seguro.

Contrato de entrada, formatos aceitos e o formato da resposta

A entrada hifenizada não diferencia maiúsculas e sempre volta em minúsculas canônicas. Inteiros decimais podem trazer um mais à esquerda e devem ficar entre zero e dois elevado a cento e vinte e oito menos um, inclusive. Exemplo: value 550e8400-e29b-41d4-a716-446655440000 é um UUID RFC 4122 versão 4 cujo hex é 550e8400e29b41d4a716446655440000. Envie um corpo JSON com o campo obrigatório value: o identificador em qualquer grafia suportada. O from opcional vale auto por padrão e pode ser uuid, integer ou hex quando você precisa forçar a análise. A detecção automática prefere um UUID hifenizado, inclusive um prefixo opcional urn:uuid: ou chaves envolventes; depois uma string hex com prefixo 0x; em seguida uma string hex compacta de trinta e dois dígitos (o UUID sem hífens); então um inteiro decimal; e por fim um trecho hex mais curto preenchido à esquerda até trinta e dois dígitos. Aceitam-se os aliases uuid, text, input e id para value, e format ou mode para from. Números JSON só são aceitos quando são inteiros seguros; valores de 128 bits mais largos devem chegar como strings para nenhum bit se perder. value ausente, strings vazias, inteiros negativos, mais de trinta e dois dígitos hex e texto que não casa com nenhuma das três formas falham com invalid_input nomeando o problema; essas falhas não são cobradas. Em caso de sucesso o corpo inclui uuid (minúsculas canônicas com hífens), integer (string decimal exata), hex (trinta e dois dígitos minúsculos), hex_prefixed (os mesmos dígitos com prefixo 0x), input_format (uuid, integer ou hex), version (0–15), variant (ncs, rfc4122, microsoft ou reserved) e bit_width 128.

Onde um conversor de UUID para inteiro realmente vale a pena

Barramentos de mensagens e chaves de data warehouse costumam comparar uma coluna hex compacta com um UUID com hífens de uma API de origem; converter os dois para o mesmo inteiro (ou o mesmo hex de trinta e dois dígitos) evita falsos desencontros causados por maiúsculas, chaves ou um prefixo urn:uuid:. Como a implementação é parse puro tier A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.

Comparação de identificadores entre formatos

Normalize UUIDs com hífen, literais hex 0x e chaves decimais em um só inteiro para que junções de warehouse e diffs de API não quebrem na grafia.

Fixtures e oráculos de teste em várias linguagens

Gere um triplo canônico uuid / integer / hex e afirme que cada biblioteca cliente codifica os mesmos bits big-endian de RFC 4122.

Como converto um UUID em um inteiro de 128 bits?

Envie value como um UUID hifenizado (opcional urn:uuid: ou chaves). A API devolve integer como string decimal exata, além de hex e o UUID canônico em minúsculas.

Por que o inteiro é uma string em vez de um número JSON?

A maioria dos UUIDs ultrapassa o intervalo de inteiros seguros do JavaScript (2^53−1). A string decimal é sempre exata. decimal_number só entra quando o valor é um inteiro seguro.

Quanto custa o conversor de UUID para inteiro?

A ferramenta do navegador é grátis. Pedidos API usam saldo pré-pago KIT a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →