Python處理BOM文本的解決方案

項目中遇到要讀取配置的情況, 所有就用了 ConfigParser 模塊, 乍一看沒有啥問題, 但是測試過程中發(fā)現(xiàn)還是有坑.
在windows版的程序中, 客戶配置ini文件一般都是用記事本修改, 但是本身記事本會強制加上一個BOM頭, 然后ConfigParser在read時候救護拋錯, 嘗試了一些方法, 最終用指定read的編碼方式的方法解決, 這里貼一下.

configparser.ConfigParser().read(config_file_path, encoding="utf-8-sig")

當(dāng)然還有別的方法:

fp = open("file.txt")
s = fp.read()
u = s.decode("utf-8-sig")
# That gives you a unicode string without the BOM. You can then use
s = u.encode("utf-8")

本質(zhì)差不多.

Reference:

  1. https://stackoverflow.com/questions/8898294/convert-utf-8-with-bom-to-utf-8-with-no-bom-in-python
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 字符集和編碼簡介 在編程中常??梢砸姷礁鞣N字符集和編碼,包括ASCII,MBCS,Unicode等字符集。確切的說...
    蘭山小亭閱讀 9,077評論 0 13
  • 最害怕的詞是夢想,最笨拙的事情就是制定計劃并執(zhí)行。 你有夢想嗎?踐行并且實現(xiàn)的。請先清晰的描述,有細節(jié)的夢想才是有...
    lily123321閱讀 317評論 1 4
  • 《鹿與森林》 你說你有辦法 讓我不會迷路 你說你有辦法 讓我永遠不走丟 我愛自由 你給我一片天空 我愛奔跑 你給我...
    雪鯨呀閱讀 874評論 6 8
  • 在池塘邊,春末或者夏季,能夠看到飄來蕩去的美景,浮萍也。浮萍并不是風(fēng)中的蒲公英,風(fēng)一來便搖搖向天空,風(fēng)往哪邊吹,蒲...
    李一十八閱讀 235評論 0 1

友情鏈接更多精彩內(nèi)容