13.1 Danh sách ký tự escape
Ký tự Escape xuất hiện từ những ngày đầu của công nghệ máy tính như một cách để chèn mã điều khiển vào chuỗi văn bản. Trong lịch sử, chúng được sử dụng để điều khiển các thiết bị như máy in và máy điện báo, cho phép chèn các lệnh như xuống dòng hoặc quay lại dòng trực tiếp vào dòng dữ liệu.
Với sự phát triển của lập trình, các ký tự này đã trở thành một phần của ngôn ngữ
lập trình tiêu chuẩn, bao gồm cả C, từ đó chuyển sang Python và các ngôn ngữ khác.
Trong Python, ký tự escape được biểu thị bằng dấu gạch chéo ngược \
, theo sau là
ký tự xác định chức năng của chúng, ví dụ \n
cho dòng mới.
Ký tự escape trong Python đóng vai trò quan trọng trong xử lý chuỗi, cho phép chèn các ký tự đặc biệt, mà nếu không sẽ khó hoặc không thể chèn trực tiếp vào chuỗi.
Đây là bảng với những ký tự phổ biến nhất:
Ký tự Escape | Mô tả |
---|---|
\\ |
Dấu gạch chéo ngược. |
\' |
Dấu nháy đơn. |
\" |
Dấu nháy kép. |
\n |
Dòng mới. |
\r |
Quay lại dòng. |
\t |
Tab ngang. |
\b |
Xóa ký tự trước đó. |
\f |
Chạy trang. |
\a |
Tín hiệu âm thanh. |
Chạy trang và tín hiệu âm thanh - tất cả những cái này còn từ thời khi văn bản được in ra máy in hoặc máy điện báo. Nhưng như người ta nói, không thể bỏ từ ra khỏi bài hát.
Tuy nhiên, ví dụ, tab ngang thường xuyên được sử dụng để căn chỉnh mã.
13.2 Chèn ký tự Unicode
Kể từ khi máy tính được phát minh, chúng chỉ làm việc với các chuỗi chứa các chữ cái Latinh, số và vài dấu. Bộ ký tự đầu tiên (mã hóa ASCII) chỉ có 128 ký tự, bao gồm kiểu điều khiển "chạy trang" :)
Ý tưởng về Unicode chỉ nảy ra vào năm 1987, khi Joe Becker từ Xerox và Lee Collins từ Apple bắt đầu thảo luận về khả năng tạo ra một hệ thống mã hóa ký tự mới, có thể hỗ trợ tất cả các hệ chữ trên thế giới.
Họ tưởng tượng Unicode như một hệ thống 16-bit, cho phép sử dụng 65,536 ký tự duy nhất, điều mà họ cho là đủ để bao quát tất cả các kịch bản đã biết. Nhưng, tất nhiên đó không phải là vậy :)
Theo thời gian, Unicode đã mở rộng, bao gồm không chỉ nhiều hơn "kịch bản ngôn ngữ", mà còn một tập hợp lớn các ký tự, emoji và văn bản lịch sử. Unicode 13.0, phát hành vào tháng 3 năm 2020, chứa hơn 143,000 ký tự, bao gồm hơn 150 "kịch bản" và nhiều bộ ký tự, làm cho nó trở thành một hệ thống mã hóa phức hợp cho thời đại số.
Unicode được thêm vào Python từ phiên bản 2.0, phát hành vào tháng 10 năm 2000. Đây là thay đổi đáng kể cho phép Python hỗ trợ tốt hơn các ngôn ngữ quốc tế và ký tự, làm đơn giản hóa việc phát triển các ứng dụng quốc tế.
Mã hóa tệp với mã Python hỗ trợ Unicode, vì vậy bạn có thể chèn ký tự trong bất kỳ ngôn ngữ nào:
print("Come to the Dark Side") # Tiếng Anh
print("Ven al Lado Oscuro") # Tiếng Tây Ban Nha
print("Komm auf die dunkle Seite") # Tiếng Đức
print("暗黒面に来なさい") # Tiếng Nhật
print("来到黑暗面") # Tiếng Trung
Chèn ký tự Unicode vào văn bản bằng số của nó có thể thực hiện với mã hóa hex 16-bit:
Ký tự Escape | Mô tả |
---|---|
\\uXXXX | Ký tự Unicode với giá trị hex 16-bit XXXX. |
\\UXXXXXXXX | Ký tự Unicode với giá trị hex 32-bit XXXXXXXX. |
13.3 Chèn biểu tượng cảm xúc
Chèn biểu tượng cảm xúc hay emoji vào văn bản và mã trong Python có thể là một cách thú vị để cải thiện giao diện và nội dung cảm xúc của tin nhắn. Emoji là các ký tự Unicode, và có thể được thêm trực tiếp vào dữ liệu chuỗi trong Python.
Emoji trong Python sử dụng tiêu chuẩn Unicode, bao gồm hàng nghìn ký tự, kể cả nhiều biểu tượng cảm xúc. Mỗi biểu tượng cảm xúc có một số Unicode duy nhất, cho phép chèn nó vào văn bản.
Ví dụ chèn biểu tượng cảm xúc
Để chèn emoji chỉ cần sao chép từ internet và chèn vào văn bản
# Ví dụ in biểu tượng cảm xúc
print(" 😀 ") # sẽ in ra 😀
Ví dụ chèn biểu tượng cảm xúc bằng Unicode
Để chèn emoji chỉ cần biết mã của nó và sử dụng nó trong chuỗi với
tiền tố u
:
# Ví dụ in biểu tượng cảm xúc
print(u"\U0001F600") # 😀
Sử dụng thư viện
Có các thư viện như emoji, giúp đơn giản hóa việc làm việc với emoji:
# Sử dụng thư viện emoji
from emoji import emojize
print(emojize(":grinning_face:"))
Emoji được sử dụng rộng rãi trong các ứng dụng di động và web, và Python không ngoại lệ. Chúng có thể thêm sự rõ ràng và biểu cảm vào chatbot, diễn đàn, bình luận và các loại tương tác người dùng khác.
GO TO FULL VERSION