/Hàm chr – Built-in Functions – Python

Hàm chr – Built-in Functions – Python

Hàm chr là một hàm trong các Built-in Functions của ngôn ngữ lập trình Python được sử dụng để chuyển đổi một số nguyên (Unicode code point) thành ký tự Unicode tương ứng.

Unicode code point là một chuỗi số nguyên duy nhất được gán cho mỗi ký tự trong toàn bộ bộ mã Unicode. Unicode là một tiêu chuẩn quốc tế được thiết kế để đại diện cho các ký tự và ký hiệu của hầu hết các ngôn ngữ và ký tự viết khác nhau trên thế giới.

Mỗi ký tự và ký hiệu trong Unicode có một mã số duy nhất, được biểu diễn dưới dạng số nguyên thập phân hoặc thập lục phân. Ví dụ, ký tự ‘A’ có mã Unicode là 65 (thập phân) hoặc 0x41 (thập lục phân).

Mã Unicode không chỉ đại diện cho các ký tự và ký hiệu, mà còn đại diện cho các biểu tượng, ký hiệu ngữ âm, dấu câu, ký tự đặc biệt và nhiều loại biểu tượng khác. Mỗi mã Unicode đều duy nhất và không thay đổi, bất kể ngôn ngữ hoặc hệ điều hành đang sử dụng.

1. Cú pháp hàm chr

Hàm chr trong Python được sử dụng để chuyển đổi một số nguyên (Unicode code point) thành ký tự Unicode tương ứng.

Cú pháp:

chr(i)

Tham số:

  • i: Một số nguyên tương ứng với mã Unicode (0 <= i <= 0x10FFFF).

Phiên bản Python:

  • Hàm chr() đã được hỗ trợ từ Python 2.x.

Mục đích chính:

  • Chuyển đổi mã Unicode (Unicode code point) thành ký tự Unicode tương ứng
Hàm chr – Built-in Functions – Python

2. Một số ví dụ hàm chr

Dưới đây là 5 ví dụ minh họa cách sử dụng hàm chr() trong Python để chuyển đổi mã Unicode thành ký tự Unicode tương ứng và giải thích từng dòng lệnh:

2.1. Dùng hàm chr đổi mã Unicode thành ký tự

unicode_code = 65  # Mã Unicode của ký tự 'A'
character = chr(unicode_code)  # Chuyển đổi mã Unicode thành ký tự
print(character)  # In ký tự tương ứng
#Output: A

Giải thích:

  • Gán mã Unicode của ký tự ‘A’ (65) vào biến unicode_code.
  • Sử dụng hàm chr() để chuyển đổi mã Unicode thành ký tự tương ứng.
  • Kết quả sẽ là ký tự ‘A’.

2.2. Chuyển đổi mã Unicode thập lục phân thành ký tự

unicode_code_hex = 0x41  # Mã Unicode thập lục phân của ký tự 'A'
character_hex = chr(unicode_code_hex)  # Chuyển đổi mã Unicode thập lục phân thành ký tự
print(character_hex)  # In ký tự tương ứng

#Output: A

Giải thích:

  • Gán mã Unicode thập lục phân của ký tự ‘A’ (0x41) vào biến unicode_code_hex.
  • Sử dụng hàm chr() để chuyển đổi mã Unicode thập lục phân thành ký tự tương ứng.
  • Kết quả sẽ là ký tự ‘A’.

2.3. Chuyển đổi mã Unicode của ký tự đặc biệt thành ký tự

unicode_special = 8364  # Mã Unicode của ký tự '€' (ký tự Euro)
character_special = chr(unicode_special)  # Chuyển đổi mã Unicode thành ký tự
print(character_special)  # In ký tự tương ứng

#Output: €

Giải thích:

  • Gán mã Unicode của ký tự ‘€’ (ký tự Euro) vào biến unicode_special.
  • Sử dụng hàm chr() để chuyển đổi mã Unicode thành ký tự tương ứng.
  • Kết quả sẽ là ký tự ‘€’.

2.4. Sử dụng lặp để chuyển đổi mã Unicode thành ký tự cho nhiều ký tự

unicode_codes = [72, 101, 108, 108, 111]  # Mã Unicode của các ký tự 'H', 'e', 'l', 'l', 'o'
characters = [chr(code) for code in unicode_codes]  # Chuyển đổi mã Unicode thành ký tự
print(''.join(characters))  # In các ký tự tương ứng

#Output: Hello

Giải thích:

  • Tạo một danh sách unicode_codes chứa mã Unicode của các ký tự ‘H’, ‘e’, ‘l’, ‘l’, ‘o’.
  • Sử dụng list comprehension để lặp qua các mã Unicode và chuyển đổi thành các ký tự tương ứng.
  • Kết quả là chuỗi ‘Hello’.

2.5. Xử lý các ký tự đặc biệt từ mã Unicode

unicode_special_codes = [9731, 9749, 9773]  # Mã Unicode của các ký tự đặc biệt
special_characters = [chr(code) for code in unicode_special_codes]  # Chuyển đổi mã Unicode thành ký tự
for char, code in zip(special_characters, unicode_special_codes):
    print(f"Ký tự: {char}, Mã Unicode: {code}")


#Output: Ký tự: ☃, Mã Unicode: 9731
#Ký tự: ☕, Mã Unicode: 9749
#Ký tự: ☭, Mã Unicode: 9773

Giải thích:

  • Tạo một danh sách unicode_special_codes chứa mã Unicode của các ký tự đặc biệt.
  • Sử dụng list comprehension để lặp qua các mã Unicode và chuyển đổi thành các ký tự tương ứng.
  • Sử dụng vòng lặp for để in ra thông tin về các ký tự đặc biệt và mã Unicode tương ứng.