How to convert an integer to a character in Python?

To convert an integer to a character in Python, we can use the chr() method. The chr() is a Python built?in function that returns a Unicode character corresponding to the given integer value.

Syntax

chr(number)

Parameters

number ? An integer between 0 and 1,114,111 (0x110000 in hexadecimal).

Return Value

Returns a Unicode character corresponding to the integer argument. Raises ValueError if the integer is out of range (not in range(0x110000)). Raises TypeError for non?integer arguments.

Basic Example

Let's convert integer 100 to its corresponding Unicode character ?

number = 100

# Convert integer to character
result = chr(number)
print(f"Integer {number} converted to character: {result}")
Integer 100 converted to character: d

Multiple Character Conversions

Here we convert multiple integers to their Unicode characters ?

numbers = [65, 97, 35, 2000, 8364]

for num in numbers:
    char = chr(num)
    print(f"Integer {num} ? Character '{char}'")
Integer 65 ? Character 'A'
Integer 97 ? Character 'a'
Integer 35 ? Character '#'
Integer 2000 ? Character '?'
Integer 8364 ? Character '?'

Common ASCII Characters

ASCII characters range from 0 to 127. Here are some common examples ?

# Letters
print("Uppercase A:", chr(65))
print("Lowercase z:", chr(122))

# Digits
print("Digit 0:", chr(48))
print("Digit 9:", chr(57))

# Special characters
print("Space:", repr(chr(32)))
print("Newline:", repr(chr(10)))
Uppercase A: A
Lowercase z: z
Digit 0: 0
Digit 9: 9
Space: ' '
Newline: '\n'

Error Handling

ValueError for Out of Range

Negative integers and values above 1,114,111 raise ValueError ?

try:
    result = chr(-100)
    print(result)
except ValueError as e:
    print(f"Error: {e}")

try:
    result = chr(1114112)  # Out of range
    print(result)
except ValueError as e:
    print(f"Error: {e}")
Error: chr() arg not in range(0x110000)
Error: chr() arg not in range(0x110000)

TypeError for Non-Integer Arguments

Passing non?integer values raises TypeError ?

try:
    result = chr("abc")
    print(result)
except TypeError as e:
    print(f"Error: {e}")

try:
    result = chr(3.14)
    print(result)
except TypeError as e:
    print(f"Error: {e}")
Error: 'str' object cannot be interpreted as an integer
Error: 'float' object cannot be interpreted as an integer

Practical Use Cases

Converting a list of ASCII values to create a string ?

ascii_values = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

message = ""
for value in ascii_values:
    message += chr(value)

print("Decoded message:", message)

# Using join() for efficiency
message_efficient = "".join(chr(value) for value in ascii_values)
print("Same message:", message_efficient)
Decoded message: Hello World
Same message: Hello World

Conclusion

The chr() function converts integers to Unicode characters, with valid range 0 to 1,114,111. It's commonly used for ASCII conversion and decoding numeric character data into readable strings.

Updated on: 2026-03-24T20:13:20+05:30

39K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements