Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm ascii() trong Python: Biểu diễn có thể in của đối tượng

Hàm built-in ascii(object) trả về chuỗi biểu diễn có thể in (printable representation) của đối tượng, thay thế các ký tự non-ASCII bằng ký tự escape (\x, \u, \U). Tương tự repr() nhưng đảm bảo đầu ra chỉ chứa ký tự ASCII.

Cú pháp

ascii(object)

Ví dụ 1: Ký tự đặc biệt đơn lẻ

string = '¢'  # ký tự cent
print(ascii(string))

Kết quả

'\xa2'

Ví dụ 2: Chuỗi chứa nhiều ký tự non-ASCII

name = 'HÃFÆËŽ'
print(ascii(name))

Kết quả

'H\xc3F\xc6\xcb\u017d'

Ví dụ 3: List chứa chuỗi non-ASCII

strings = ['HÃFÆËŽ', '®', '©Òpy']
print(ascii(strings))

Kết quả

['H\xc3F\xc6\xcb\u017d', '\xae', '\xa9\xd2py']

So sánh ascii() vs repr()

HàmĐầu raUnicode
ascii()Chỉ ký tự ASCII, escape non-ASCIIEscape thành \x, \u, \U
repr()Có thể chứa Unicode trực tiếpHiển thị Unicode nếu terminal hỗ trợ

Khi nào dùng ascii()?

  • Debug/ghi log trong môi trường chỉ hỗ trợ ASCII.
  • Truyền dữ liệu qua hệ thống cũ (legacy) chỉ chấp nhận ASCII.
  • Tạo chuỗi representation an toàn cho serialization.

Kết luận

ascii() đảm bảo chuỗi đầu ra an toàn cho mọi môi trường ASCII. Hữu ích khi làm việc với dữ liệu quốc tế hóa (i18n) và cần tương thích ngược.