HOWTO · Python

Como Converter um caractere em um Inteiro e Vice Versa em Python

O artigo introduz métodos para converter um caractere em um número inteiro e um número inteiro em um caractere em Python

Nesta página

Este tutorial discute métodos para converter um caractere em um número inteiro e um número inteiro em um caractere em Python.

Utilize chr() para converter um número inteiro em um caractere em Python

Podemos utilizar a função embutida chr() para converter um número inteiro para sua representação de caracteres em Python. O exemplo abaixo ilustra isto.

val = 97
chr_val = chr(val)
print(chr_val)

Resultado:

a

Resultará em um erro se você fornecer um valor inteiro inválido para isto. Por exemplo:

val = 1231232323
chr_val = chr(val)
print(chr_val)

Resultado:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-42-f76a9ed55c90> in <module>
      1 val = 1231232323
----> 2 chr(val)

ValueError: chr() arg not in range(0x110000)

Por isso, é sempre bom colocar este código em um bloco de try...except para capturar o erro, se houver, e evitar qualquer falha. O exemplo abaixo ilustra isto:

val = 1231232323
try:
    chr_val = chr(val)
    print(chr_val)
except Exception as e:
    print("Error:", e)

Resultado:

Error: chr() arg not in range(0x110000)

Utilize ord() para converter um caractere para um Inteiro em Python

Podemos utilizar a função integrada ord() para converter um caractere para um inteiro em Python. O exemplo abaixo ilustra isto.

val = "a"
try:
    int_val = ord(val)
    print(int_val)
except Exception as e:
    print("Error:", e)

Resultado:

97

O método acima também captura qualquer entrada inválida e imprime o erro em vez de quebrar o código. Por exemplo:

val = "aa"
try:
    int_val = ord(val)
    print(int_val)
except Exception as e:
    print("Error:", e)

Resultado:

Error: ord() expected a character, but string of length 2 found