python編譯碼的那些事兒

2021-07-11 09:51:15 字數 655 閱讀 8691

在python程式設計尤其是處理web應用時,遇到編譯碼問題的概率較大,通常這種問題也比較繁瑣,記下自己的理解,以備不時之需。

編譯碼存在的意義主要是由於各種不同編碼方式的存在,有gbk啦,也有utf-8啦,還有gb2312等等。python中的decode和encode的引數意義是一樣的,即decode("utf-8")代表根據utf-8的編碼規則來解碼文字,最終得到的就是未經編碼的資料了,encode("utf-8")代表根據utf-8的編碼規則

來編碼文字,最終得到的就是編碼後的資料了。

在python如果知道文字的編碼方式可以直接通過str1 = str1.decode("utf-8")這樣的方式來解碼文字,但很多情況下我們是不知道文字的編碼方式的,那麼有沒有比較好的通用方式幫我們識別呢?答案是有,就是使用chardet庫。

chardet使用方式如示例**,其提供了獲取編碼方式的介面,直接呼叫就可以了

import chardet

mychar = chardet.detect(text)

print mychar["encoding"]

text = text.decode(mychar['encoding'],'ignore')

text現在成了未編碼資料,要想編碼成其他型別的直接呼叫encode介面就可以了。

關於Python那些事兒

1.易於學習 python有相對較少的關鍵字,結構簡單,和乙個明確定義的語法,學習起來更加簡單。2.易於閱讀 python 定義的更清晰。3.易於維護 python的成功在於它的源 是相當容易維護的。4.乙個廣泛的標準庫 python的最大的優勢之一是豐富的庫,跨平台的,在unix,windows和...

Python那些事兒 Python中的生成器

python使用生成器對延遲操作提供了支援,所謂延遲操作,是指在需要的時候才產生結果,而不是立即產生結果。gen exp i for i in range 10 生成器表示式 print gen exp generator for i in gen exp 取出生成器表示式的值,for迴圈 prin...

Python那些事兒 資料放縮

討論如何對資料進行放縮 import numpy as np np.random.seed 10 x np.random.randomint 10,25 1.0 for i in range 10 defmin max x return round round xx min x 1.0 max x ...