Python 3 menggunakan pengkodean UTF-8 untuk file kode sumber secara default. Apakah saya harus tetap menggunakan deklarasi encoding di awal setiap file sumber? Suka# -*- coding: utf-8 -*-
Python 3 menggunakan pengkodean UTF-8 untuk file kode sumber secara default. Apakah saya harus tetap menggunakan deklarasi encoding di awal setiap file sumber? Suka# -*- coding: utf-8 -*-
Jawaban:
Karena defaultnya adalah UTF-8, Anda hanya perlu menggunakan deklarasi itu saat menyimpang dari default, atau jika Anda mengandalkan alat lain (seperti IDE atau editor teks) untuk menggunakan informasi itu.
Dengan kata lain, sejauh menyangkut Python , hanya jika Anda ingin menggunakan encoding yang berbeda, Anda harus menggunakan deklarasi itu.
Alat lain, seperti editor Anda, dapat mendukung sintaks yang serupa, itulah sebabnya spesifikasi PEP 263 memungkinkan fleksibilitas yang cukup besar dalam sintaks (harus berupa komentar, teks coding
harus ada, diikuti dengan karakter :
atau =
dan spasi kosong opsional, diikuti oleh codec yang dikenali).
Perhatikan bahwa ini hanya berlaku untuk cara Python membaca kode sumber . Ini tidak berlaku untuk mengeksekusi kode itu, jadi tidak untuk bagaimana mencetak, membuka file, atau operasi I / O lainnya menerjemahkan antara byte dan Unicode. Untuk detail lebih lanjut tentang Python, Unicode, dan pengkodean, saya sangat mendorong Anda untuk membaca Python Unicode HOWTO , atau pembicaraan Unicode Pragmatis yang sangat menyeluruh oleh Ned Batchelder.
UTF-8
, yang merupakan default.Untuk proyek multi-encoding:
Jika beberapa file dikodekan dalam
non-utf-8
, bahkan untuk ini dikodekan diUTF-8
Anda harus menambahkan deklarasi pengkodean juga, karena aturan emasnya adalahExplicit is better than implicit.
mengkonfigurasi pengkodean untuk file tertentu di pycharm
# vim: set fileencoding=<encoding name> :
# -*- coding: utf-8 -*-
mungkin masih berguna untuk beberapa editor untuk beralih ke yang diharapkan pengkodean saat mengedit file sumber.