在使用python的時候,經常會程式生成程式後再執行,就是所謂的程式自動進化。
在這種情況下,最常見的錯誤就是編碼和解碼的錯誤。在執行生成的**之時,可能會出現如下的錯誤資訊:
syntaxerror: (unicode error) 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte
一般用文字編輯器開啟,轉碼,儲存後就能夠解決,問題是這還叫什麼進化!
人工干預一兩個或許還有耐心,一堆的話,不要狂罵n
有沒有解決的方法?
簡單!在生成檔案的時候,請將encoding='utf8'加入即可,知道的人覺得太簡單,不知道的人或許會被卡主幾個禮拜
類似的**如下:
with open(r'***.py', 'w+', encoding='utf8') as f:
f.write(u'yyyyyyyy')
一堆f.close()
怎麼樣?問題解決了嗎?
解決的話,還不點贊!
七 6 位元組(byte)與unicode utf8
package main import bytes fmt func main fmt.printf t v n aa,aa 位元組切片轉換為 字串 s string aa fmt.printf t v n s,s 字串轉換為位元組切片 bs byte s fmt.printf t v n bs,b...
bit與byte 進製
背景 計算機中的原碼為什麼用8位數來表示?詳述 網上查到了一些大神的資料是這樣寫的 這就要從計算機的發展史來說了,在早期,有一種 一位計算機 也就是每次只能處理1位二進位制數的計算機。之後 四位機 八位機 十六位機 等等。資料處理能力逐步增強。在 八位機 興盛期間,各項計算機的理論基本成型,確立了8...
int char double與byte相互轉換
int char double與byte相互轉換的程式 整數到位元組陣列的轉換 public static byte inttobyte int number return b 位元組陣列到整數的轉換 public static int bytetoint byte b if b 3 0 最後乙個之...