『壹』 python自帶的IDLE編輯器,為什麼utf-8編碼、unicode編碼、GBK編碼形式都可以顯示

............
unicode是一種編碼。。。具體實現有utf-8,utf-16.。。
gbk是種中文編碼。

print 的時候自動轉為系統編碼了。

『貳』 python中unicode編碼怎麼轉換為utf-8

實現代碼如下:來
a = 'abce'# print type(a)b = a.decode("ascii")# print type(b)c = a.decode("ascii").encode("utf-8")# print type(c)

在python中進行編碼轉自換都是通過unicode作為中間值實現的。所以要先decode成unicode字元,然後再使用encode轉換成utf-8編碼的str。可以把注釋取消了,看下轉換過程中的類型。

『叄』 python 字元是用utf8 還是unicode

python2默認使來用ascii編碼,通過在文件頭部自添加【# -*- coding: utf-8 -*-】可以設置成utf8,python3默認是使用unicode。

如果解決了您的問題請點贊!
如果未解決請繼續追問!

『肆』 python unicode 和utf8編碼是什麼意思

編碼是用於講二進制格式(byte)轉化為漢語,英文等文字的方式。如果是unicode,那就是一種全球通用的編碼,但是台灣用的多,mac系統是utf-8,windows你用GB2312

『伍』 python中怎樣將unicode轉換成原來的中文

python默認就是unicode存儲。如果是從文件讀取的,在open的參數中指定encoding關鍵字參數就行。如下:

#coding=utf-8/importjson /defLoadQuestion(): /f=open("test.json",'r') qas=json.load(f) question=qas['documents'] /returnquestion/t=LoadQuestion() /printstr(t).decode("unicode-escape")

拓展資料專:

通常python2時所屬有IO讀寫都是byte方式。也就是編碼後的。java也是這樣子。只有python3還有某些特定的模塊才會自動將byte重新轉換成unicode

在python2里的確可以使用s.decode('gbk','ignore')之類的變成unicode。不過在python3里應該是這樣子, s.encode('gbk','ignore')這樣就變成了byte

如果你喜歡 utf-8,可以s.encode(『utf-8','ignore')和s.decode(『utf-8','ignore')

『陸』 python中如何獲取中文的utf8編碼

  • 首先要表示一個漢字,至少需要2個位元組碼

  • 如果需要以utf解碼你的內漢字,可以用如下辦法容

>>>unicode('人','utf-16')
u'ucbc8'
  • 如果需要以gbk解碼你的漢字,可以用如下辦法

>>>unicode('人','gbk')
u'u4eba

『柒』 Python2和3中關於str和unicode以及UTF-8的更改到底是什麼意思

Python2.x中:

str格式本質含義是「某種編碼格式」,絕大多數情況下,被引號框起來的字元串,就是str,這時的字元串編碼類型,其實就是你Python文件的編碼類型,比如在Windows里,默認用的是GBK編碼。

Unicode格式的含義就是「用unicode編碼的字元串」。Python在進入2.0版後正式定義了了Unicode字元串這個奇怪的特性,目的就是為了處理太多種語言編碼的文本。從那時開始,Python語言中的字元串類型就分為兩種:一種是傳統的Python字元串(各種花樣編碼),另一種則是新出現的Unicode。

後來到了Python3.x時代:

str格式的定義變更為」Unicode類型的字元串「,也就是說在默認情況下,被引號框起來的字元串,是使用Unicode編碼的。
而「不是Unicode的某種編碼格式」,比如UTF-8、GBK,這些編碼方式被定義為了bytes,這里的bytes和py2中的str有很多相似的地方。

『捌』 怎麼在Python里使用UTF-8編碼

概述

在python代碼即.py文件的頭部聲明即可

解析

py文件中的編碼

Python 默認腳本文件都是 ANSCII 編碼的,當文件 中有非 ANSCII 編碼范圍內的字元的時候就要使用"編碼指示"來修正一個 mole 的定義中,如果.py文件中包含中文字元(嚴格的說是含有非anscii字元),則需要在第一行或第二行指定編碼聲明:

# -*- coding=utf-8 -*-

#coding=utf-8

# 以上兩種選其一即可

其他的編碼如:gbk、gb2312也可以;否則會出現:

SyntaxError: Non-ASCII character 'xe4' in file test.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

python中的編碼與解碼

先說一下python中的字元串類型,在python中有兩種字元串類型,分別是 str 和 unicode,他們都是basestring的派生類;

str類型是一個包含Characters represent (at least) 8-bit bytes的序列;

unicode 的每個 unit 是一個 unicode obj;

在str的文檔中有這樣的一句話:

    The string data type is also used to represent arrays of bytes, e.g., to hold data read from a file.

也就是說在讀取一個文件的內容,或者從網路上讀取到內容時,保持的對象為str類型;如果想把一個str轉換成特定編碼類型,需要把str轉為Unicode,然後從unicode轉為特定的編碼類型如:utf-8、gb2312等。

拓展內容

utf-8編碼

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,也是一種前綴碼。它可以用來表示Unicode標准中的任何字元,且其編碼中的第一個位元組仍與ASCII兼容,這使得原來處理ASCII字元的軟體無須或只須做少部分修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他存儲或發送文字的應用中,優先採用的編碼。

UTF-8使用一至六個位元組為每個字元編碼(盡管如此,2003年11月UTF-8被RFC 3629重新規范,只能使用原來Unicode定義的區域,U+0000到U+10FFFF,也就是說最多四個位元組):

1、128個US-ASCII字元只需一個位元組編碼(Unicode范圍由U+0000至U+007F)。

2、帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要兩個位元組編碼(Unicode范圍由U+0080至U+07FF)。

3、其他基本多文種平面(BMP)中的字元(這包含了大部分常用字,如大部分的漢字)使用三個位元組編碼(Unicode范圍由U+0800至U+FFFF)。

4、其他極少使用的Unicode輔助平面的字元使用四至六位元組編碼(Unicode范圍由U+10000至U+1FFFFF使用四位元組,Unicode范圍由U+200000至U+3FFFFFF使用五位元組,Unicode范圍由U+4000000至U+7FFFFFFF使用六位元組)。

對上述提及的第四種字元而言,UTF-8使用四至六個位元組來編碼似乎太耗費資源了。但UTF-8對所有常用的字元都可以用三個位元組表示,而且它的另一種選擇,UTF-16編碼,對前述的第四種字元同樣需要四個位元組來編碼,所以要決定UTF-8或UTF-16哪種編碼比較有效率,還要視所使用的字元的分布范圍而定。不過,如果使用一些傳統的壓縮系統,比如DEFLATE,則這些不同編碼系統間的的差異就變得微不足道了。若顧及傳統壓縮演算法在壓縮較短文字上的效果不大,可以考慮使用Unicode標准壓縮格式(SCSU)。

互聯網工程工作小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼。互聯網郵件聯盟(IMC)建議所有電子郵件軟體都支持UTF-8編碼。

『玖』 python 輸出含unicode的字元串

普通字元串可以用多種方式編碼成Unicode字元串,具體要看你究竟選擇了哪種編碼:
unicodestring = u"Hello world"
# 將Unicode轉化為普通Python字元串:"encode"
utf8string = unicodestring.encode("utf-8")
asciistring = unicodestring.encode("ascii")
isostring = unicodestring.encode("ISO-8859-1")
utf16string = unicodestring.encode("utf-16")
# 將普通Python字元串轉化為Unicode:"decode"
plainstring1 = unicode(utf8string, "utf-8")
plainstring2 = unicode(asciistring, "ascii")
plainstring3 = unicode(isostring, "ISO-8859-1")
plainstring4 = unicode(utf16string, "utf-16")
assert plainstring1 == plainstring2 == plainstring3 == plainstring4

『拾』 python中gbk、utf-8、ascii、Unicode的關系是什麼

gbk是中文編碼,utf-8和unicode一樣是通用編碼,ascii和前三者不是一類的。
一般都是用utf-8,一般不會出問題。