在未知檔案編碼格式的情況下修改檔案編碼格式

2021-09-13 01:39:16 字數 605 閱讀 5770

在專案中有遇到了乙個問題,原因是客戶上傳的檔案編碼不確定,一般是ansi格式,但我處理的時候必須是utf-8格式,所以,需要把檔案的編碼進行修改,我用python3進行了修改,**如下:

import chardet

import codecs

#修改檔案格式

def convert(filename,out_enc='utf-8'):

content = codecs.open(filename,'rb').read()

source_encoding = chardet.detect(content)['encoding']

if source_encoding != out_enc:

content = content.decode(source_encoding).encode(out_enc)

codecs.open(filename,'wb').write(content)

這個時候需要用到python的chardet模組,這個模組可以解析出檔案的編碼,然後就可以對檔案解碼,之後就以指定的編碼進行編碼,在寫進入,這樣就完成了檔案編碼格式的改變。。。

注意:在這讀寫的時候都是位元組形式的

MySQL在知道密碼的情況下修改密碼

1.首先cmd開啟終端然後cd到你mysql的bin目錄下 c cd.c cd.兩次cd是退出c c cd d 安裝mysql的盤,我這裡是d盤 回車 當然如果你在外面配置了 環境變數 也就不要這麼麻煩了 d cd 你mysql的bin目錄 2.然後登入mysql 3.登入成功後下一步就是更改密碼 ...

C 資料個數未知情況下的輸入方法

我們經常需要輸入一串數,而資料個數未知。這時候就不能以資料個數作為輸入是否結束的判斷標準了。這種情況下,我們可以用以下兩種方法輸入資料。1 以整數為例 2 include 3 include 4 include 5 using namespace std 67 intmain 15 輸出16 for...

synchronized在多執行緒情況下的使用

不同業務場景,有時會碰到大量資料的情況,在請求完資料後會通過model對映到對應的陣列或者字典中,從而對陣列進行操作,而多個執行緒同時對同一陣列進行取捨時內容就會出錯,為了避免這種情況可以使用 synchronized關鍵字來宣告來建立乙個互斥鎖,保證此時沒有其它執行緒對鎖定物件進行修改 synch...