<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      一篇文章徹底講清楚文本編碼這件事,UTF8/GBK/BOM這些到底是什么

      0
      分享至

      由于公眾號推送機制改變,歡迎在公眾號首頁點擊右上【···】,將東哥在灣區設為?“星標”?,及時接收文章推送。

      大家好,我是東哥,你身邊放心的香港保險顧問。

      這是我的第708篇原創。

      上篇文章,我們分享了

      作為C端業務,繳費操作都已經是傻瓜化操作。

      手機上點兩下就可以完成繳費。

      體驗絲滑。

      但前提,是你得有一個香港銀行賬戶。

      對香港銀行賬戶感興趣的朋友,歡迎微信上聯系東哥。

      東哥最近,化身碼農。

      像俺自己寫的保單管理系統,已經上千行代碼了。


      而且已經開始同步開發了一些小工具供公司內大伙使用。

      就很爽。

      東哥年輕的時候,瘋狂的喜歡編程,沉迷代碼的世界不可自拔。

      還琢磨過轉行去做程序員。

      誰知道許多年后,居然曲線救國,從另一個角度成功了。

      也是神奇。

      給別人開發和寫給自己用,考慮的方面就不一樣。

      在處理數據第一步,就卡殼了。

      怎么回事兒?

      1

      文件編碼。

      東哥自己的文件,都是用utf8編碼。

      誰用誰知道,那叫一個爽。

      所以在編程的時候,根本不需要考慮這個問題。

      但現在開始處理別人的文件,問題就來了。

      傳遞過來的文件,尤其一些工具軟件導出的,編碼就千奇百怪。

      傳統上,靠人工推測,估摸著可能是什么編碼,然后一個個嘗試。

      但這樣效率也未免太低了。

      摸索了半天,最后的結果卻非常簡單。

      Python讀取文本文件的編碼,有什么好的辦法?

      2

      國內的編碼,主要有三個,GB2312、GBK和GB18030。

      其中GB2312最為古老,發布時間于1980年。

      它是中國大陸早期的簡體中文國家標準,標準編號GB 2312-1980。

      涵蓋了 6763個漢字,并支持 682個非漢字字符(如標點、拉丁字母、日文假名等)。

      由于比較古老,所以涵蓋面也不足。

      如果文本包含超出范圍的字符,會拋出 UnicodeDecodeError。

      現代應用中,大家已經不太常用這個編碼了。

      有一些舊系統可能仍有殘留。

      3

      第二個,GBK。

      GBK發布于1995年,是GB2312 的擴展。

      字符范圍從上一代的6763個漢字,擴展到了 21886個漢字。

      不僅覆蓋了 GB2312 全部字符,還新增繁體字、生僻字及符號。

      還支持中日韓統一表意文字(CJK Unified Ideographs) 的擴展部分。

      這個編碼最大的好處是兼容 GB2312,即所有 GB2312 編碼的字符在 GBK 中保持不變。

      保證了向后兼容。

      一直是Windows 簡體中文版的默認編碼,直到 Windows 10。

      4

      第三個,GB18030。

      這個編碼發布于 2000年,最新版為 GB18030-2022。

      這個編碼是中國國家強制標準,覆蓋所有 Unicode 字符。

      包括簡體、繁體、少數民族文字、Emoji 等。

      一共包含 87887個漢字,遠超過 GBK的2萬個。

      而且它在設計上,完全兼容 GB2312 和 GBK,可無縫替代舊編碼。

      中國大陸銷售的軟件產品必須支持 GB18030。

      5

      到這兒,就很簡單了。

      對于國內軟件,可以優先嘗試GB18030。

      無論是GB2312還是GBK,它都能讀取。

      那是不是直接選用GB18030就可以了?

      不行。

      還記沒記得,東哥自己一直用的是UTF8。

      什么是UTF8?

      UTF8(Unicode Transformation Format-8)是國際標準,是Unicode字符集的實現方式之一,由國際組織Unicode Consortium維護。

      它的設計目標是解決全球多語言文本的統一編碼問題。

      作為國際標準,它在多語言支持、國際化應用或開源項目中應用更為廣泛。

      東哥雖然沒有多語言支持的需求,但為了俺的國際范兒,一直用的是UTF8。

      而且市面上很多文件也是以UTF8編碼的。

      所以我們還得考慮UTF8的編碼。

      6

      涉及到UTF8的話,就天然的存在一個問題,BOM。

      具體啥是BOM,咱這里不細述了,微軟早先年搞出來的東東。

      算是業界的一朵奇葩。

      所以現在同樣UTF8編碼的文件,有的有BOM,比如用Windows記事本保存的;

      有的沒有BOM,比如Web或Mac系統的生成的。

      讀取的時候,就需要再次判斷,就很麻煩。

      怎么辦?

      Python已經考慮了這個問題,讀入的時候,可以考慮無腦用有BOM的方式讀取。

      如果開頭有BOM,它就略過BOM,讀入后面的實際內容;

      如果開頭沒有BOM,它就正常讀入內容。

      不需要我們人工再次判斷。

      7

      所以現在,我們有了兩個選擇,GB18030和帶BOM的UTF8。

      這兩個基本涵蓋了日常99%的應用。

      具體實現上,可以用一個異常來嘗試。

      def openr(fpath=None) -> str:
          '''     open file to read with utf8 or fallback encodings.     '''
          # 嘗試多種編碼,避免報錯和亂碼
          encodings = ["utf-8-sig", "gb18030"]
          for enc in encodings:
              try:
                  ifile = open(fpath, mode='r', encoding=enc)
                  return ifile
              except UnicodeDecodeError:
                  continue
          raise ValueError("無法解碼文件,請檢查編碼")

      還有沒有其他情況需要考慮?

      有。

      比如有些文件,既不是UTF8,又不是GB18030的情況。

      這時候可以考慮用專門的編碼檢測工具chardet

      pip install chardet

      但以上內容,足以覆蓋東哥日常,就不在拓展啦。

      人生苦短,我用Python。

      對酒當歌,我用Python。

      這是屬于理工男的浪漫。

      愛生活,愛拉芳,Python天天見。

      能看懂這個梗的,是不是都有點年紀了

      關注東哥,保護中產財富,一起慢慢變富。

      東哥目前提供如下服務,有需要的朋友歡迎微信來撩。

      • ,一個經營強鏈接的社群。

      群里有老板、投資人、500強高管、律師、HR……

      討論個人IP打造、中年人第二曲線、碩博學歷提升、企業出海項目等。

      • ,分享一些專業金融知識及硬核資訊;

      討論香港保險、香港銀行開戶、美股投資、比特幣投資、房產投資等。

      • ,1-2小時的深度交流。

      涵蓋自媒體指導、職業規劃、就業指導、IP打造、個人優勢挖掘、銷售獲客技巧、資源鏈接等。

      人是萬物的尺度。找一群人一起走,一起慢慢變富。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      意甲官方:因亞足聯增設苛刻條件,米蘭vs科莫的海外賽取消

      意甲官方:因亞足聯增設苛刻條件,米蘭vs科莫的海外賽取消

      懂球帝
      2025-12-22 23:52:09
      解放軍單兵火力開始上導彈了,而且成本最低只需要2萬人民幣!

      解放軍單兵火力開始上導彈了,而且成本最低只需要2萬人民幣!

      阿龍聊軍事
      2025-12-21 20:00:40
      突發!阿爾巴尼斯認罪,馬上辭職下臺???

      突發!阿爾巴尼斯認罪,馬上辭職下臺!?

      澳洲財經見聞
      2025-12-23 03:40:16
      和父母同住后我才明白:再孝順,也不能對年過70的父母做這3件事

      和父母同住后我才明白:再孝順,也不能對年過70的父母做這3件事

      小馬達情感故事
      2025-12-21 17:55:03
      1955年授銜儀式,毛主席突然攔住一少將,上下打量后說了句怪話:你莫非把我忘了?

      1955年授銜儀式,毛主席突然攔住一少將,上下打量后說了句怪話:你莫非把我忘了?

      史海孤雁
      2025-12-15 23:10:23
      萬斯:照顧美國老年人比援助烏克蘭重要

      萬斯:照顧美國老年人比援助烏克蘭重要

      參考消息
      2025-12-22 15:00:18
      呂麗君女兒在家慶祝圣誕,否認沒獲劉鑾雄分產,與父親關系已和緩

      呂麗君女兒在家慶祝圣誕,否認沒獲劉鑾雄分產,與父親關系已和緩

      樹娃
      2025-12-23 09:48:58
      馬斯克收心了?官宣了39歲印度裔伴侶:相貌普通為他生了4個孩子

      馬斯克收心了?官宣了39歲印度裔伴侶:相貌普通為他生了4個孩子

      豐譚筆錄
      2025-12-12 11:16:23
      美空襲敘利亞境內70多個目標

      美空襲敘利亞境內70多個目標

      環球時報國際
      2025-12-22 11:05:35
      《暗黑4》將提高等級上限:技能樹也將重做

      《暗黑4》將提高等級上限:技能樹也將重做

      游民星空
      2025-12-23 08:35:31
      波爾:樊振東是史上最好的球員,來德甲可以過相對正常的生活

      波爾:樊振東是史上最好的球員,來德甲可以過相對正常的生活

      懂球帝
      2025-12-22 14:18:54
      雷軍高調宣布,小米YU7獲“五星健康車”認證,遙遙領先

      雷軍高調宣布,小米YU7獲“五星健康車”認證,遙遙領先

      胡嚴亂語
      2025-12-20 16:16:55
      封關后,海南炸鍋了。有房子的外地人、當地土著都樂開了花!

      封關后,海南炸鍋了。有房子的外地人、當地土著都樂開了花!

      石辰搞笑日常
      2025-12-03 08:50:12
      克里斯托弗·諾蘭全新史詩電影《奧德賽》首曝預告

      克里斯托弗·諾蘭全新史詩電影《奧德賽》首曝預告

      導筒directube
      2025-12-22 23:23:57
      NBA最新戰力榜更新!火箭跌至第6,湖人守住第7,快船跌至倒數第4

      NBA最新戰力榜更新!火箭跌至第6,湖人守住第7,快船跌至倒數第4

      毒舌NBA
      2025-12-23 08:47:34
      日元潰敗,西方金融大鱷蠢蠢欲動,高市早苗想中方出手相救不可能

      日元潰敗,西方金融大鱷蠢蠢欲動,高市早苗想中方出手相救不可能

      百態人間
      2025-12-22 16:51:54
      四川境內驚現水下墓葬,出土文物價值一萬六千億,專家:是沈萬三

      四川境內驚現水下墓葬,出土文物價值一萬六千億,專家:是沈萬三

      銘記歷史呀
      2025-12-22 01:22:57
      60歲以上注意:2026年拿身份證去辦這5件事,好處別錯過!

      60歲以上注意:2026年拿身份證去辦這5件事,好處別錯過!

      前沿天地
      2025-12-21 16:14:39
      民政局回應“獨居女子離世遺產歸公爭議”:買墓地可從中支付

      民政局回應“獨居女子離世遺產歸公爭議”:買墓地可從中支付

      南方都市報
      2025-12-22 19:38:10
      41歲前TVB花旦廣州開演唱會,兩屆視帝驚喜現身開金口唱歌

      41歲前TVB花旦廣州開演唱會,兩屆視帝驚喜現身開金口唱歌

      TVB劇評社
      2025-12-22 12:20:59
      2025-12-23 10:48:49
      張利東 incentive-icons
      張利東
      關注東哥,保護中產財富,一起慢慢變富。
      566文章數 80關注度
      往期回顧 全部

      科技要聞

      快手遭黑灰產攻擊 直播間現大量色情內容

      頭條要聞

      牛彈琴:中將隕落在莫斯科 傳遞了一個相當危險的信號

      頭條要聞

      牛彈琴:中將隕落在莫斯科 傳遞了一個相當危險的信號

      體育要聞

      戴琳,中國足球的反向代言人

      娛樂要聞

      阿信發聲報平安,曬演唱會向F3索吻畫面

      財經要聞

      直播間涉黃?快手:遭到黑灰產攻擊已報警

      汽車要聞

      四款新車集中發布 星途正式走進3.0時代

      態度原創

      房產
      健康
      教育
      數碼
      親子

      房產要聞

      重磅!海南發布島內居民免稅商品經營主體及免稅店管理辦法征求意見稿!

      這些新療法,讓化療不再那么痛苦

      教育要聞

      孩子身上有這4個跡象,暗示你真的管太寬了(父母請收藏)

      數碼要聞

      18000小時殘酷測試:OLED與LCD誰的可靠性更強?

      親子要聞

      生孩子的經濟負擔:窮人如何應對?評論區熱議!

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 无线日本视频精品| 太原市| 亚洲色婷婷一区二区三区| 亚洲色网导航| 色妞www精品视频| 99re国产| jiZZjiZZ欧美69| 疯狂做受xxxx高潮欧美日本| 大伊香蕉在线精品视频75| 69精品视频| 内射老阿姨1区2区3区4区| 免费又黄又裸乳的视频| 亚洲一区二区三区影院| 亚洲国产乱| 亚洲av麻豆aⅴ无码电影| 久久精品人人做人人综合试看| 又大又粗又爽免费视频a片| 亚洲伊人久久精品影院| 欧美人与动zozo| 欧美牲交videossexeso欧美| 日韩一级视频| 少妇被粗大猛进进出出| 丰满人妻被猛烈进入中文字幕| 国产欧美精品一区二区三区四区| 新竹县| 天天干天天色综合网| 免费看无码自慰一区二区| 国产乱子伦一区二区三区四区五区| 国产爆初菊哭了| 少妇一夜三次一区二区| www.亚洲V| 国产一区二区av天堂热| 少妇人妻偷人精品无码视频新浪 | 亚洲学生妹高清av| 日韩?欧美?国产| 欧美成人动态图| 娇妻玩4p被三个男人伺候| 国产精品亚洲一区二区三区在线 | 7777精品伊人久久久大香价格| 亚洲成人在线| 麻豆一区二区99久久久久|