最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python判斷文件和字符串編碼類型的實例

 更新時間:2017年12月21日 09:38:50   作者:淺醉櫻花雨  
下面小編就為大家分享一篇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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的單繼承與多繼承實例分析

    Python中的單繼承與多繼承實例分析

    這篇文章主要介紹了Python中的單繼承與多繼承,結(jié)合實例詳細(xì)分析了Python面向?qū)ο蟪绦蛟O(shè)計中單繼承與多繼承的概念、原理、實現(xiàn)方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-05-05
  • python根據(jù)list重命名文件夾里的所有文件實例

    python根據(jù)list重命名文件夾里的所有文件實例

    今天小編就為大家分享一篇python根據(jù)list重命名文件夾里的所有文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python中aioysql(異步操作MySQL)的方法

    python中aioysql(異步操作MySQL)的方法

    這篇文章主要介紹了aioysql(異步操作MySQL)-python 的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • 更改Ubuntu默認(rèn)python版本的兩種方法python-> Anaconda

    更改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代理代碼解析

    這篇文章主要介紹了Python request設(shè)置HTTPS代理代碼解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • python字符串切割:str.split()與re.split()的對比分析

    python字符串切割:str.split()與re.split()的對比分析

    今天小編就為大家分享一篇python字符串切割:str.split()與re.split()的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python獲取外網(wǎng)ip地址的方法總結(jié)

    python獲取外網(wǎng)ip地址的方法總結(jié)

    這篇文章主要介紹了python獲取外網(wǎng)ip地址的方法,實例總結(jié)了四種常用的獲取外網(wǎng)IP地址的技巧,需要的朋友可以參考下
    2015-07-07
  • 如何將Python字符串轉(zhuǎn)換為JSON的實現(xiàn)方法

    如何將Python字符串轉(zhuǎn)換為JSON的實現(xiàn)方法

    在本教程中,你將學(xué)習(xí)JSON的基礎(chǔ)知識,它是什么,常用在哪里以及它的語法,還將看到如何在Python中將字符串轉(zhuǎn)換為JSON,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 在Python的Django框架中使用通用視圖的方法

    在Python的Django框架中使用通用視圖的方法

    這篇文章主要介紹了在Python的Django框架中使用通用視圖的方法,同時提到了相關(guān)的安全問題,需要的朋友可以參考下
    2015-07-07
  • python之virtualenv的簡單使用方法(必看篇)

    python之virtualenv的簡單使用方法(必看篇)

    下面小編就為大家分享一python之virtualenv的簡單使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11

最新評論

孝昌县| 资中县| 宜丰县| 黄山市| 本溪市| 雷波县| 巴马| 辽阳市| 平潭县| 广灵县| 大新县| 临邑县| 开鲁县| 赤壁市| 鲁山县| 澎湖县| 道真| 雅安市| 麟游县| 卫辉市| 庆元县| 万年县| 滦平县| 探索| 林口县| 抚远县| 剑河县| 托克逊县| 毕节市| 涞源县| 田林县| 龙里县| 阿坝县| 桃源县| 南通市| 麻栗坡县| 常山县| 娄底市| 铜山县| 西峡县| 文水县|