Python判斷文件和字符串編碼類型的實例
python判斷文件和字符串編碼類型可以用chardet工具包,可以識別大多數(shù)的編碼類型。但是前幾天在讀取一個Windows記事本保存的txt文件時,GBK卻被識別成了KOI8-R,無解。
然后就自己寫了個簡單的編碼識別方法,代碼如下:
coding.py
# 說明:UTF兼容ISO8859-1和ASCII,GB18030兼容GBK,GBK兼容GB2312,GB2312兼容ASCII
CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5']
# UTF-8 BOM前綴字節(jié)
UTF_8_BOM = b'\xef\xbb\xbf'
# 獲取文件編碼類型
def file_encoding(file_path):
"""
獲取文件編碼類型\n
:param file_path: 文件路徑\n
:return: \n
"""
with open(file_path, 'rb') as f:
return string_encoding(f.read())
# 獲取字符編碼類型
def string_encoding(b: bytes):
"""
獲取字符編碼類型\n
:param b: 字節(jié)數(shù)據(jù)\n
:return: \n
"""
# 遍歷編碼類型
for code in CODES:
try:
b.decode(encoding=code)
if 'UTF-8' == code and b.startswith(UTF_8_BOM):
return 'UTF-8-SIG'
return code
except Exception:
continue
return '未知的字符編碼類型'
說明:file_encoding方法用于判斷文件編碼類型,參數(shù)為文件路徑;string_encoding方法用于判斷字符串編碼類型,參數(shù)為字符串對應(yīng)的字節(jié)數(shù)據(jù)
使用示例:
import coding
file_name = input('請輸入待識別文件路徑:\n')
encoding = coding.file_encoding(file_name)
print(encoding)
以上這篇Python判斷文件和字符串編碼類型的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- python使用chardet判斷字符串編碼的方法
- Python 十六進(jìn)制整數(shù)與ASCii編碼字符串相互轉(zhuǎn)換方法
- Python中的字符串操作和編碼Unicode詳解
- python字符串與url編碼的轉(zhuǎn)換實例
- 詳解Python當(dāng)中的字符串和編碼
- python判斷字符串編碼的簡單實現(xiàn)方法(使用chardet)
- Python中還原JavaScript的escape函數(shù)編碼后字符串的方法
- 淺談python下含中文字符串正則表達(dá)式的編碼問題
- python字符串編碼識別模塊chardet簡單應(yīng)用
- python中字符串的編碼與解碼詳析
相關(guān)文章
python根據(jù)list重命名文件夾里的所有文件實例
今天小編就為大家分享一篇python根據(jù)list重命名文件夾里的所有文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
更改Ubuntu默認(rèn)python版本的兩種方法python-> Anaconda
當(dāng)你安裝 Debian Linux 時,安裝過程有可能同時為你提供多個可用的 Python 版本,因此系統(tǒng)中會存在多個 Python 的可執(zhí)行二進(jìn)制文件。一般Ubuntu默認(rèn)的Python版本都為2.x, 如何改變Python的默認(rèn)版本呢?下面來一起看看吧。2016-12-12
Python request設(shè)置HTTPS代理代碼解析
這篇文章主要介紹了Python request設(shè)置HTTPS代理代碼解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02
python字符串切割:str.split()與re.split()的對比分析
今天小編就為大家分享一篇python字符串切割:str.split()與re.split()的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python獲取外網(wǎng)ip地址的方法總結(jié)
這篇文章主要介紹了python獲取外網(wǎng)ip地址的方法,實例總結(jié)了四種常用的獲取外網(wǎng)IP地址的技巧,需要的朋友可以參考下2015-07-07
如何將Python字符串轉(zhuǎn)換為JSON的實現(xiàn)方法
在本教程中,你將學(xué)習(xí)JSON的基礎(chǔ)知識,它是什么,常用在哪里以及它的語法,還將看到如何在Python中將字符串轉(zhuǎn)換為JSON,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12

