python修改默認編碼
㈠ 如何修改python文件的編碼格式
可以知道的是,文本文件的默認編碼並不是utf8。
我們打開一個文本文件,並點擊另存為
2
我們在新窗口的編碼一欄看到默認編碼是ANSI。先不管這個編碼是什麼編碼,但是通過下拉列表我們知道,這種編碼不是utf8。
END
編碼測試
1
對於Python裡面的中文顯示,我們常常使用utf8和gbk的編碼。對於這兩種編碼筆者就不介紹了,總之都是專門可以處理中文的編碼方式啦。
2
我們首先對文本文件測試了gbk解碼。我們發現,此編碼下文本文件內容可以正常顯示,但是使用utf8解碼,程序出錯,拋出decodeError異常
3
同樣的,我們對Python腳本文件測試了utf8解碼。我們發現,此編碼下文本文件內容可以正常顯示,但是使用gbk解碼,中文部分出現亂碼
4
測試說明,對於文本文件需要使用gbk解碼,而對於腳本文件需要utf8解碼,也就是說,文本文件是gbk編碼的,而腳本則是utf8
㈡ python123漢字的unicode編碼值
python的默認編碼是ascii,可以通過sys.setdefaultencoding('utf-8')函數設置python的默認編碼。
python中可以通過encode和decode的方式改變數據的編碼,比如:
>>> u'漢字'
u'\u6c49\u5b57'
>>> u'漢字'.encode('utf-8')
'\xe6\xb1\x89\xe5\xad\x97'
>>> u'漢字'.encode('utf-8').decode('utf-8')
u'\u6c49\u5b57'
我們可以通過這兩個函數設置編碼。
那麼,python中的str是什麼類型?
>>> import binascii
>>> '漢字'
'\xba\xba\xd7\xd6'
>>> type('漢字')
>>> print binascii.b2a_hex('漢字')
babad7d6
>>> print binascii.b2a_hex(u'漢字')
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode characters in
position 0-1: ordinal not in range(128)
>>> print binascii.b2a_hex(u'漢字'.encode('utf-8'))
e6b189e5ad97
>>> print binascii.b2a_hex(u'漢字'.encode('gbk'))
babad7d6
binascii是將數據的二進制轉換成ascii,上面的解釋是:『漢字'的類型是str,二進制是babad7d6,u『漢字'是無法轉換成ascii,這樣就報出了開頭的第一個錯誤。解決辦法就是把它.encode(『utf-8')成str類型。因為我命令行是windows默認的GBK編碼,所有u'漢字'.encode(『gbk')的時候,輸出結果和『漢字'結果一樣。
㈢ python設置文件編碼方式有哪些方法
python設置文件編碼方式的方法有:使用帶等號的設置方法、使用帶冒號的設置方法這個方法可以被大多數編輯器所識別、使用vim形式的方法
在python2中的文件中如果要填寫中文,必須要加一行代碼用來聲明文件編碼的注釋,否則python2會報錯。因為它默認的編碼格式是ASCII。而在python3中已經沒有這個問題了,python3默認的文件編碼是UTF-8。今天就將介紹如何在python中設置文件編碼,具有一定的參考作用,希望對大家有所幫助
【推薦課程:Python教程】
要將編碼注釋放在第一行或者第二行,一般來說,Python文件的前兩行要這樣寫:
#!/usr/bin/python
# -*- coding: UTF-8 -*-第一行是指定python解釋器,第二行是指定python文件編碼方式,設置編碼方式有以下可選的方法
(1)使用帶等號的設置方法
#!/usr/bin/python
# coding=<encoding name>(2)使用帶冒號的設置方法,這是方法是大多數編輯器都可以正確識別的
#!/usr/bin/python
# -*- coding: <encoding name> -*-(3)vim形式的方法
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :設置頭部的編碼聲明有以下幾個作用:
1、如果代碼中有中文注釋,就需要此聲明
2、比較高級的編輯器會根據頭部聲明將此作為代碼文件的格式。
3、程序會通過頭部聲明,解碼初始化 ,所以頭部聲明和代碼的存儲格式要一致
總結:
㈣ 如何設置python的編碼格式為utf-8
python的編碼格式?
#coding=utf-8
這是文檔編碼
import sys
sys.setdefaultencoding("utf-8")
這是設置默認編碼方式為utf-8
xx.encode("utf-8")
這是字元串編碼操作
import codecs
codecs.open(xx,'r','utf-8"),這是文件編碼讀取方式