偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

學(xué)習(xí)python處理python編碼

開發(fā) 后端
概括從python開始就處理unicode字符,python源文件的編碼與解碼,我們寫的python程序從產(chǎn)生到執(zhí)行的過程如下,

 概括、從python1.6開始就可以處理unicode字符了。

一、幾種常見的編碼格式。

1.1、ascii,用1個字節(jié)表示。

1.2、UTF-8,用1個至三個字節(jié)表示,表示ascii碼時只占用1個字節(jié),ascii編碼是UTF-8的子集。

1.3、UTF-16,用2個字節(jié)表示,在python中,unicode的含義就是UTF-16。

二、python源文件的編碼與解碼,我們寫的python程序從產(chǎn)生到執(zhí)行的過程如下:

編輯器---->源代碼---->解釋器---->輸出結(jié)果

2.1、編輯器決定源代碼的編碼格式(在編輯器中設(shè)定)

2.2、也必須要解釋器知道源代碼的編碼格式(很遺憾很難從編碼的數(shù)據(jù)獲知源文件的編碼格式)

2.3、補(bǔ)充:在Windows下當(dāng)用UltraEdit把源代碼存成UTF-8時,會在文件中記錄BOM標(biāo)志(不必祥究)這樣ActivePython解釋器會自動識別源文件是UTF-8格式,但是如果用eclipse編輯源文件,雖然在編輯器中指定文件編碼為UTF-8,但是因為沒有記入BOM標(biāo)志,所以必須在源文件開始處加上#coding=utf-8,用注釋來提示解釋器源文件的編碼方式挺有意思。

2.4、舉例:例如我們要向終端輸出"我是中國人"。 

  1. #coding=utf-8     告訴python解釋器用的是utf-8編碼,我用的是eclipse+pydev     
  2. print "我是中國人"  #源文件本身也要存成UTF-8編碼    

三、編碼的轉(zhuǎn)換,兩種編碼的轉(zhuǎn)換要用UTF-16作為中轉(zhuǎn)站。

舉例:如果有一個文本文件jap.txt,里面有內(nèi)容 "私は中國人です。",編碼格式是日文編碼SHIFT_JIS,

還有一個文本文件chn.txt,內(nèi)容是"中華人民共和國",編碼格式是中文編碼GB2312。

我們?nèi)绾伟褍蓚€文件里的內(nèi)容合并到一起并存儲到utf.txt中并且不顯示亂碼呢,可以采用把兩個文件的內(nèi)容都轉(zhuǎn)成UTF-8格式,因為UTF-8里包含了中文編碼和日文編碼。

  1. #coding=utf-8     
  2.     
  3. try:     
  4.     JAP=open("e:/jap.txt","r")     
  5.     CHN=open("e:/chn.txt","r")     
  6.     UTF=open("e:/utf.txt","w")     
  7.          
  8.     jap_text=JAP.readline()     
  9.     chn_text=CHN.readline()     
  10.     #先decode成UTF-16,再encode成UTF-8     
  11.     jap_text_utf8=jap_text.decode("SHIFT_JIS").encode("UTF-8"#不轉(zhuǎn)成utf-8也可以     
  12.     chn_text_utf8=chn_text.decode("GB2312").encode("UTF-8")#編碼方式大小寫都行utf-8也一樣     
  13.     UTF.write(jap_text_utf8)     
  14.     UTF.write(chn_text_utf8)     
  15.          
  16. except IOError,e:     
  17.     print "open file error",e    

 

四、Tk庫支持ascii,UTF-16,UTF-8

 

  1. #coding=utf-8     
  2.     
  3. from Tkinter import *     
  4.     
  5. try:     
  6.     JAP=open("e:/jap.txt","r")     
  7.     str1=JAP.readline()     
  8.     
  9. except IOError,e:     
  10.     print "open file error",e     
  11.     
  12. root=Tk()     
  13.     
  14. label1=Label(root,text=str1.decode("SHIFT_JIS")) #如果沒有decode則顯示亂碼     
  15. label1.grid()     
  16.     
  17. root.mainloop()    

以上是學(xué)習(xí)python處理python編碼的基本過程,希望對大家有幫助。

【編輯推薦】

  1.  Python 3.2 alpha 2發(fā)布 改善單元模塊
  2. 全能選手 看看Python應(yīng)乎潮流的72變
  3. Python自動單元測試框架的應(yīng)用詳解
  4. Perl Unicode全程攻略
  5. Python unicode ascii編碼在windows中的實際應(yīng)用
  6. Python unicode ascii編碼在windows上的問題的解決

 

責(zé)任編輯:佚名 來源: JavaEye論壇
相關(guān)推薦

2010-03-11 16:03:04

Python prin

2023-11-28 15:18:24

Python

2010-03-01 14:02:26

Python批處理語言

2024-04-18 10:26:14

模塊Python

2015-07-31 09:27:56

安全編碼代碼審計Python

2016-02-15 14:13:39

Python編碼環(huán)境

2022-12-13 07:55:00

Python地理編碼

2010-02-01 10:21:36

Python編碼轉(zhuǎn)換

2009-08-17 15:07:18

Python學(xué)習(xí)經(jīng)驗

2009-06-10 15:27:08

netbeans 編碼亂碼

2024-02-26 16:40:58

2017-03-25 21:32:40

Python編碼

2018-01-22 17:02:48

Python字符編碼ASCII

2024-03-04 07:50:04

Python字符編碼網(wǎng)絡(luò)通信

2010-03-23 14:34:44

Python vim檢

2010-02-02 17:18:16

Python圖像處理

2016-08-22 17:37:24

Python圖像處理搜索引擎

2009-02-25 10:34:57

異常處理體系Python

2020-12-16 15:56:26

機(jī)器學(xué)習(xí)人工智能Python

2021-01-28 13:16:27

Python編程語言
點贊
收藏

51CTO技術(shù)棧公眾號