您現在的位置是:電腦技術吧?>? 組裝維修 ??>??python默認編碼格式,python編碼格式轉換??>??正文詳情

python默認編碼格式,python編碼格式轉換

仝紫文2019-11-28 13:11:54 人圍觀
簡介python小程序由于某些原因,有必要將代碼從機房a轉移到機房B。兩者不能相互訪問。但由于歷史原因,a機房代碼全部為utf8代碼。機房B需要GBK代碼。讓我們看看如何解決這個問題pythonut

由于某些原因,需要將代碼從A機房遷移到B機房,這兩個之間不能互相訪問,但是歷史原因導致A機房的代碼全是utf8編碼的,B機房要求是GBK編碼,看看這個怎么解決。

雖然很簡單,但是還是要推薦給大家,需要的小伙伴參考下吧。

  最近剛換工作不久,沒太多的時間去整理工作中的東西,大部分時間都在用來熟悉新公司的業務,熟悉他們的代碼框架了,最主要的是還有很多新東西要學,我之前主要是做php后臺開發的,來這邊之后還要把我半路出家的前端學好、還要學習C ,哈哈,總之很充實了,每天下班回家都可以睡的很香(一句話總結,就是吃得香、睡的香~)。

再說說換工作時候吧,今年年初正式畢業半年了,感覺自己技術增長很快,原公司里面程序員的地位還不如運營,所以想換個工作,面試了3家(2家大的、一家小的),都給offer了,當然從大公司里面挑了個各方面綜合(工資、干什么、交通等等)還不錯的,反正感覺就很順利的進來了(比畢業的時候容易多了),哈哈,越努力、越幸運,越幸運、越努力!。

從這周開始,繼續整理博客,免得給自己造成懶得習慣。

  剛來這個公司,熟悉了環境,老大就開始讓我做一個遷移、修改代碼的工作,我想說的是,這種工作真沒勁~~,看別人的代碼、改別人的代碼、這里改個變量、那里改個文件名,都是些沒技術含量、很繁瑣的事情,不過通過遷移代碼順便熟悉下環境也好。

扯了這么多,說說今天的主題吧代碼編碼格式改變,由于某些原因,需要將代碼從A機房遷移到B機房,這兩個之間不能互相訪問,但是歷史原因導致A機房的代碼全是utf8編碼的,B機房要求是GBK編碼,看看這個怎么解決。

編碼問題先說說為什么會有編碼問題,就拿上面那個例子來說,B機房這邊數據庫全是GBK編碼的,因此從數據庫中取出來的數據都是GBK的,從數據庫中取出來的數據是GBK編碼的,要在展示的時候不亂碼,在不對數據庫取出的數據轉換的情況下,就需要發送header的時候設置編碼為GBK,輸出的文件(html、tpl等)都必須是GBK的,看看下面這個圖會更清楚點:    DB(GBK) = php等(編碼格式不限但如果代碼文件中有漢字,文件就要是gbk編碼或者在漢字輸出的時候轉化為gbk) = header(GBK) = html、tpl(GBK)  或者還有一種方式只在出庫的時候在代碼中將utf8轉化為gbk,總的來說utf8還是更流行點,問題更少點    DB(GBK) = php等(utf8,并將從數據庫取出的數據轉化為utf8) = header(utf8) = html、tpl(utf8)  只要按照上面這兩種規范編碼格式,就不會出現亂碼情況,起碼我測試的第一種方式是沒問題的,所以我猜第二種也ok,好了,現在就來寫一個轉換文件編碼格式的小腳本:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #!/usr/bin/python # -*- coding: utf-8 -*- #Filename:changeEncode.py import os import sys def ChangeEncode(file,fromEncode,toEncode): try: f=open(file) s=f.read() f.close() u=s.decode(fromEncode) s=u.encode(toEncode) f=open(file,w); f.write(s) return 0; except: return -1; def Do(dirname,fromEncode,toEncode): for root,dirs,files in os.walk(dirname): for _file in files: _file=os.path.join(root,_file) if(ChangeEncode(_file,fromEncode,toEncode)!=0): print [轉換失敗:] _file else: print [成功:] _file def CheckParam(dirname,fromEncode,toEncode): encode=[UTF-8,GBK,gbk,utf-8] if(not fromEncode in encode or not toEncode in encode): return 2 if(fromEncode==toEncode): return 3 if(not os.path.isdir(dirname)): return 1 return 0 if __name__==__main__: error={1:第一個參數不是一個有效的文件夾,3:源編碼和目標編碼相同,2:您要轉化的編碼不再范圍之內:UTF-8,GBK} dirname=sys.argv[1] fromEncode=sys.argv[2] toEncode=sys.argv[3] ret=CheckParam(dirname,fromEncode,toEncode) if(ret!=0): print error[ret] else: Do(dirname,fromEncode,toEncode)   腳本很簡單,使用也很簡單代碼如下:./changeEncode.py target_dir fromEncode toEncode這里要注意下,幾種常見編碼的關系:  us-ascii編碼是utf-8編碼的一個子集,這個是從stackoverflow上得到的,原文如下ASCII is a subset of UTF-8, so all ASCII files are already UTF-8 encoded,我試了下確實是的,在不加漢字的時候顯示編碼為us-ascii,加了漢字之后,變為utf-8。

  還有就是ASNI編碼格式,這代表是本地編碼格式,比如說在簡體中文操作系統下,ASNI編碼就代表GBK編碼,這點還需要注意  還有一點就是一個在linux下查看文件編碼格式的命令是:代碼如下:file -i *  可以看到文件的編碼格式。

  當然了,上面的可能有些文件中有特殊字符,處理的時候會失敗,但一般程序文件是沒有問題的。

以上就是本文所述的全部內容了,希望對大家學習python能夠有所幫助。

請您花一點時間將文章分享給您的朋友或者留下評論。

我們將會由衷感謝您的支持!

版權聲明:本文由 仝紫文 整理編輯。

原標題:python的編碼方式,python編碼格式

轉載注明出處:http://www.dn9ww09s.icu/assemble/14728.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 豆瓣和知乎那個更好用,知乎和豆瓣哪個好玩

    豆瓣和知乎那個更好用,知乎和豆瓣哪個好玩 相關圖片豆瓣vs知乎智虎和豆瓣作為國內兩個高質量、高質量的內容輸出平臺,在人氣和粉絲方面不相上下。那么哪個更好?哪個更高?讓我們看看超人知道類似豆瓣和知乎...

  • 什么是描述符,描述符

    什么是描述符,描述符 相關圖片特征描述符本文主要介紹Python中描述符的詳細描述,它屬于Python學習過程中類和對象的基本知識。您可以為您的朋友引用描述符,它是Python語言的一個深刻而重要的部格式描述符是什么...

  • 無線網圖標,無線網圖標沒了

    無線網圖標,無線網圖標沒了 相關圖片筆記本無線網連接圖標不見了您是否遇到過win7系統中的無線網絡圖標顯示無線網絡未連接但您的計算機可以訪問Internet的情況?怎么了?我們該怎么辦?今天,超人編輯將教你如何解決...

  • python正則,python re 正則

    python正則,python re 正則 相關圖片python enumerate本文主要介紹了利用Python實現遠程FTP目錄下文件的正則匹配檢索的方法。它非常簡單實用。所需合作伙伴的參考存在問題。必須定期匹配遠程FTP目錄下的文件。如果python...

  • win7沒有管理員權限,win10管理員權限

    win7沒有管理員權限,win10管理員權限 相關圖片windows權限超人編輯器想問你是否會遇到使用win7系統卸載軟件的情況,并經常提示沒有管理員的權限。超人編輯研究后發現,這是由于當前用戶對計算機的權限不足,需要管理員權限來解...

  • 神州專車beatu,神州專車u十

    神州專車beatu,神州專車u十 相關圖片神州專車u十單子多嗎雖然Uber和滴滴打車是許多小伙伴乘坐出租車的必要選擇之一,但他們也隱藏了一定的安全風險。神舟特種車輛所提供的特種車輛服務,不存在此類隱患。在U eudriv...

  • python如何打開文件,python打開文件的路徑

    python如何打開文件,python打開文件的路徑 相關圖片python讀取文件內容本文主要介紹了Python通過wxPython打開和播放音頻文件的方法,并通過實例分析了wxPython操作音頻文件的技巧,具有一定的參考價值。需要的朋友可以參python 讀文件...

  • 又要剁手了,剁手剁手

    又要剁手了,剁手剁手 相關圖片網購剁手說說螞蟻花和信用卡是黨的日常生活中最熟悉的兩件事。他們都是以消費后付款的形式向用戶付款。但安卓版和信用卡之間的高利率是多少?螞蟻花和信用卡的性價比是多少?...

  • 隨機生成四位驗證碼,如何寫登錄隨機生成驗證碼

    隨機生成四位驗證碼,如何寫登錄隨機生成驗證碼 相關圖片生成驗證碼本文主要介紹了Python隨機生成的一個6位驗證碼共享,本文直接給出了一個代碼示例,可以參考以下1。生成的源代碼如下:?-*-編碼:UTF-8-*-導入隨機de隨機驗證碼怎么實現...

  • 拷貝,我拷貝

    拷貝,我拷貝 相關圖片把軟件的所有拷貝就能直接用嗎win7的大部分安裝都是通過CD的安裝來完成的,但是超人小版認為使用CD的安裝速度還是比較慢的。如果你想幫助別人安裝系統或安裝多臺計算機,甚至遇到...

熱評文章

  • 一體手機進水一切正常,一體機手機泡水了應如何處理

    一體手機進水一切正常,一體機手機泡水了應如何處理 相關圖片一體手機進水關不了機怎么辦總有一些像小編這樣的瑪哈人,隨意地放上手機,或者握手讓他們在空中劃出一道美麗的弧線,然后跳入水中。所以,如果手機真的掉進水里或水中,實際...

  • 北京時間同步,手機時間和北京時間不同步

    北京時間同步,手機時間和北京時間不同步 相關圖片怎么設置北京時間本文主要介紹了Python的本地機與北京時間的定時同步方法,涉及到Python對時間的操作技巧,具有一定的參考價值。對于需要參考以下示例的朋友,本文介紹了Pyt北京時...

  • 交管12123收不到短信驗證碼,手機收不到交管驗證碼

    交管12123收不到短信驗證碼,手機收不到交管驗證碼 相關圖片12123號牌格式不對交管12123是官方的交通安全綜合服務管理客戶端,為車主和駕駛員提供業務預約、機動車/駕照/違章處理受理和處理、交通安全信息查詢、業務通知和提醒,商業指導和...

  • 休眠后自動重啟,休眠喚醒自動重啟

    休眠后自動重啟,休眠喚醒自動重啟 相關圖片WINDOWS系統休眠后自動重啟電腦離開電腦一段時間后就會進入睡眠狀態是一種正常現象。但是超人最近收到很多win10系統用戶的報告,稱win10系統休眠和喚醒后,計算機不再返回桌面程序,...

  • 北京時間標準,北京時間

    北京時間標準,北京時間 相關圖片北京時間校準本文主要介紹了Python獲取標準北京時間的方法,并通過實例分析了Python通過www.Beijing-time.org官方網站獲取標準北京時間的技巧。具有一美國時間與北京時間對照表...

  • 電腦突然dns未響應,怎么解決dns無響應

    電腦突然dns未響應,怎么解決dns無響應 相關圖片dns電腦服務器未響DNS服務器是用于域名和相應IP地址轉換的服務器。用戶每天訪問的網站地址必須解析為IP才能正常訪問。決議是否成功DNS服務器未響應是怎么回事...

  • win10系統圖標,win10電腦圖標

    win10系統圖標,win10電腦圖標 相關圖片win10我們都知道win10系統已經正式發布。如果您的計算機是win7和win8.1系統,您可以通過獲取windows10圖標直接將系統升級到windows10。但仍有win10界面...

  • python 正則表達式,python3正則表達式

    python 正則表達式,python3正則表達式 相關圖片JAVA正則表達式本文主要介紹Python使用正則表達式分析和替換網頁圖片的方法。它涉及到Python使用正則表達式的技巧,具有一定的參考價值。對于那些需要它的人,可以參考下面的python正...

  • 摩拜隱形貼紙,摩拜618貼紙

    摩拜隱形貼紙,摩拜618貼紙 相關圖片摩拜成立好消息!當520來的時候,摩比單車會再次帶給你寶箱車的玩法。用戶可在規定時間內領取6張《我愛你》貼紙,兌換520元現金紅包。我怎樣才能買到摩比牌汽車的貼紙摩拜單車要...

  • 獲取參數值,js獲取參數

    獲取參數值,js獲取參數 相關圖片正在獲取網絡參數本文主要介紹了Python在flask框架下獲取當前查詢參數的方法,并結合實例分析了查詢字符串獲取查詢參數的技巧。對于需要幫助的人,請參考下面的示例來描述Pytjsp獲取...

關注微信

变脸官网查询