Python 3 sử dụng mã hóa UTF-8 cho các tệp mã nguồn theo mặc định. Tôi vẫn nên sử dụng khai báo mã hóa ở đầu mỗi tệp nguồn? Giống# -*- coding: utf-8 -*-
Python 3 sử dụng mã hóa UTF-8 cho các tệp mã nguồn theo mặc định. Tôi vẫn nên sử dụng khai báo mã hóa ở đầu mỗi tệp nguồn? Giống# -*- coding: utf-8 -*-
Câu trả lời:
Bởi vì mặc định là UTF-8, bạn chỉ cần sử dụng khai báo đó khi bạn đi chệch khỏi mặc định hoặc nếu bạn dựa vào các công cụ khác (như IDE hoặc trình soạn thảo văn bản của bạn) để sử dụng thông tin đó.
Nói cách khác, đối với Python , chỉ khi bạn muốn sử dụng một bảng mã khác, bạn mới phải sử dụng khai báo đó.
Các công cụ khác, chẳng hạn như trình soạn thảo của bạn, có thể hỗ trợ cú pháp tương tự, đó là lý do tại sao thông số kỹ thuật PEP 263 cho phép sự linh hoạt đáng kể trong cú pháp (nó phải là chú thích, văn bản coding
phải ở đó, theo sau là một :
hoặc =
ký tự và khoảng trắng tùy chọn, theo sau là codec được công nhận).
Lưu ý rằng nó chỉ áp dụng cho cách Python đọc mã nguồn . Nó không áp dụng cho việc thực thi mã đó, vì vậy không áp dụng cho cách in, mở tệp hoặc bất kỳ hoạt động I / O nào khác dịch giữa byte và Unicode. Để biết thêm chi tiết về Python, Unicode và các bảng mã, tôi thực sự khuyên bạn nên đọc Python Unicode HOWTO , hoặc bài nói chuyện rất kỹ lưỡng về Pragmatic Unicode của Ned Batchelder.
UTF-8
, là mặc định.Đối với các dự án đa mã hóa:
Nếu một số tệp được mã hóa trong
non-utf-8
, thì ngay cả đối với những tệp được mã hóa này ,UTF-8
bạn cũng nên thêm khai báo mã hóa, bởi vì quy tắc vàng làExplicit is better than implicit.
định cấu hình mã hóa cho tệp cụ thể trong pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
vẫn có thể hữu ích đối với một số biên tập viên để chuyển sang dự kiến mã hóa khi chỉnh sửa các tập tin nguồn.