các str. phương thức mã hóa trả về một phiên bản được mã hóa của chuỗi dưới dạng đối tượng byte. Mã hóa mặc định là utf-8
Khi đối số từ khóa errors
được đặt thành ignore
, các ký tự không thể mã hóa sẽ bị loại bỏ
Bất kỳ ký tự nào không thể được mã hóa bằng cách sử dụng mã hóa utf-8
sẽ bị xóa khỏi chuỗi
Bước tiếp theo là giải mã đối tượng bytes
bằng mã hóa utf-8
các byte. phương thức giải mã trả về một chuỗi được giải mã từ các byte đã cho. Mã hóa mặc định là utf-8
Kết quả là một chuỗi không chứa bất kỳ ký tự nào không phải utf-8
Nếu bạn cần xóa các ký tự không phải utf-8 khi đọc từ tệp, hãy sử dụng vòng lặp str.encode[]
1 để lặp lại các dòng trong tệp và lặp lại quy trình tương tự
with open['example.txt', 'r', encoding='utf-8'] as f:
lines = f.readlines[]
for line in lines:
line = line.encode['utf-8', errors='ignore'].decode['utf-8']
print[line]
Mã hóa là quá trình chuyển đổi đối tượng str.encode[]
2 thành đối tượng bytes
và giải mã là quá trình chuyển đổi đối tượng bytes
thành đối tượng str.encode[]
2
Nếu bạn đang bắt đầu với một đối tượng bytes
, trước tiên bạn phải sử dụng phương thức str.encode[]
7 để giải mã đối tượng byte thành một chuỗi
Đảm bảo đặt đối số từ khóa errors
thành ignore
trong lệnh gọi phương thức str.encode[]
7 để loại bỏ bất kỳ ký tự không phải utf-8 nào khi chuyển đổi thành chuỗi
Việc in tệp văn bản utf-8 trong bảng điều khiển windows có phải là một điều nâng cao không? . từ learnpython
Mọi chương trình truyền thống đều quen thuộc với bảng ASCII. Bảng này biểu thị một chuỗi gồm 128 ký tự trong đó mỗi ký tự được biểu thị bằng một số. Tuy nhiên, trong thực tế, có nhiều ký tự và biểu tượng hơn. Đó là lý do tại sao chúng tôi sử dụng biểu diễn Unicode trong Python
Unicode đại diện cho một dãy số lớn [lên tới 149186 điểm mã] để biểu thị các điểm mã được ánh xạ bên trong các byte 8 bit. Các chuỗi theo mặc định trong Python lưu trữ các ký tự Unicode
Trong bài viết này, chúng ta sẽ thảo luận về cách in ký tự Unicode trong Python
In ký tự Unicode trong Python 3
Từ python 3 trở đi, mọi chuỗi được coi là tập hợp các ký tự Unicode và mọi thứ được mã hóa ở định dạng UTF-8. Vì vậy, thông thường chúng ta có thể hiển thị một ký tự Unicode bằng cách sử dụng hàm utf-8
8 nếu chúng ta thêm ký tự đó vào mã
Xem mã dưới đây
In ký tự Unicode bằng Python
1
2
3
4
a = 'thực tế'
in[a]
đầu ra
có thật
Ví dụ tương tự sẽ không hoạt động với Python 2
Tuy nhiên, chúng tôi bị giới hạn ở các ký tự được xác định trên bàn phím khi nhập các ký tự này. Để in các số vượt quá phạm vi này, chúng ta có thể sử dụng chuỗi thoát Unicode
Hãy để chúng tôi thảo luận tương tự trong phần sau
Sử dụng chuỗi thoát utf-8
9 để in ký tự Unicode trong Python
Trình tự thoát thường được sử dụng trong Python. Chúng có thể được sử dụng để truyền đạt một số ý nghĩa thay thế cho một ký tự tới trình thông dịch Python. Để in ký tự Unicode trong Python, chúng ta có thể sử dụng chuỗi thoát utf-8
9
Chúng ta có thể sử dụng chuỗi thoát utf-8
9 để in ký tự Unicode trong Python. Chúng ta có thể chỉ định điểm mã với chuỗi này để hiển thị ký tự
Ví dụ,
Sử dụng trình tự thoát \u
1
2
3
4
a = '\u004a\u0061'
in[p]
đầu ra
Ja
Trong ví dụ trên, chúng tôi hiển thị các ký tự dựa trên các điểm mã Unicode của chúng bằng chuỗi thoát utf-8
9
đọc thêm
Xóa ký tự unicode trong Python
Đọc thêm →
In một ký tự n lần bằng Python
Đọc thêm →
Sử dụng mã hóa utf-8
để in ký tự Unicode trong Python [Python 2]
Phương pháp này dành cho người dùng Python 2
Như đã nêu trước đó, việc thay đổi mã hóa thành UTF-8 đã được thực hiện trong Python 3. Đó là lý do tại sao chúng ta có thể in trực tiếp các ký tự Unicode. Đối với người dùng Python 2, chúng tôi có thể đặt mã hóa khi bắt đầu tập lệnh Python và làm việc với các ký tự đó
Xem ví dụ sau
Sử dụng mã hóa UTF-8
1
2
3
4
5
6
#. /usr/bin/env con trăn
# -*- mã hóa. utf-8 -*-
a = 'thực tế'
in a
đầu ra
có thật
Hai dòng mã đầu tiên yêu cầu IDLE sử dụng mã hóa UTF-8 trong tập lệnh và do đó chúng tôi có thể sử dụng các ký tự Unicode trong tập lệnh mà không có bất kỳ lỗi nào
Sự kết luận
Để kết thúc hướng dẫn này, chúng ta đã thảo luận cách in ký tự Unicode trong Python. Đầu tiên, chúng tôi nhấn mạnh tầm quan trọng của các ký tự đó và các thay đổi được thực hiện trong mã hóa trong Python 3 để hỗ trợ chúng. Chúng ta có thể sử dụng chúng trực tiếp trong Python 3
Tuy nhiên, đối với người dùng Python 2, chúng tôi có hai phương pháp, trình tự thoát và đặt mã hóa phù hợp. Chúng tôi đã thảo luận chi tiết về cả hai phương pháp này trong bài viết với các ví dụ hoạt động