日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】刨根究底字符编码【2.0版】(1):开篇

發布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】刨根究底字符编码【2.0版】(1):开篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先跟大家分享一個有趣的親身經歷。有一次,在網上我看到有程序員發了一個帖子,帖子題目乍一看讓人感到驚愕,但細一想又讓我會心一笑。

這個帖子的題目大致上是這樣的:字符編碼是不是讓程序員最感到惡心的問題?

更有意思的是,這個帖子下面竟然還得到了不少程序員的認同和點贊。我也表示了認同和點了贊。

為什么對字符編碼會有這樣的看法呢?

字符編碼像個幽靈

字符編碼,看起來是一個不太受到關注的邊緣主題,似乎與前端技術的新潮酷炫、數據結構與算法的高大上、Java/Go/MySQL等的實用都挨不上邊。

但事實上,字符編碼無疑是計算機世界里最基礎、最重要的一個主題之一。

然而,這么基石性的主題,在計算機教材中卻只是浮光掠影般地草草帶過。網絡上有關字符編碼的介紹文章也大多錯漏百出、謬誤多多。

更為令人不解的是,甚至連一本深入介紹的專門著作都找不到。對此我一直很困惑,為什么就沒有哪位大牛對這個如此基礎、如此重要而又如此容易讓人困惑的主題寫一本專著進行介紹呢?

在編程實踐中,如果沒有用死磕到底的精神將字符編碼的來龍去脈、前世今生徹底搞清楚,只要你涉及的技術領域稍微廣泛一些,那么它終將會像幽靈一樣揮之不去,導致時不時地被各種與它相關的“靈異”事件折磨得死去活來。

本人正是在經受了字符編碼所帶來的種種令人崩潰的痛苦之后,才在痛定思痛之余,最終痛下決心,誓要將它刨根究底。

字符編碼涉及面廣

字符編碼的基礎性、重要性,主要體現在它的涉及面太過于廣泛。

向下,涉及到計算機的底層技術,甚至是硬件實現。

向上,幾乎跟所有的操作系統、編程語言、應用程序都密切相關。

因此,要想真正搞明白字符編碼問題,必須得從計算機的基本概念——位、字節、字等等開始,再結合不同的系統環境與編程環境,進行具體分析。

類似于字符編碼這樣基礎、重要、應用廣泛而又特別容易讓人困惑的基石性領域,還有字節序(即大小端表示)、正則表達式、浮點數實現、日期時間處理等等。

這些領域,都差不多具有如下共同特點:

  • 非?;A,卻又非常重要;
  • 看起來比較偏門,卻又應用極為廣泛;
  • 不實戰的話感覺很簡單,一旦實際工作中遇到了卻又特別讓人困惑;
  • 貌似與日常工作關系不大,卻又往往會在關鍵時刻被它們折磨得死去活來。

真正經驗老到的技術負責人在招聘技術人員時,往往不會將面試重點放在對當前流行技術和熱門技術的考察上,而是會放在對上述這些容易被應聘者輕視的基礎技術的考察上。

道理很簡單,一方面是所謂的“基礎不牢、地動山搖”,基礎技術的扎實與否,決定了這個人未來的技術成長空間和對新技術的快速掌握能力。

而另一方面更重要的是,通過對這些看似偏門卻又非常關鍵的基礎技術的考察,可以看出一個人的學習能力,以及對技術真正的好奇心、熱情和追求。

因為新潮、酷炫、熱門的流行技術幾乎人人都喜歡,因此追逐流行技術是人之常情,不足為奇。

只有對基礎技術仍然抱有刨根究底的好奇心和熱情,才真正地體現出了一個程序員的學習能力和技術追求。

根據我多年的經驗來看,這是劃分平庸程序員和優秀程序員的分水嶺和分界線,幾乎是百發百中,極少看走眼過。

壓箱底的看家本領

上面所提到基石性領域中,字節序、正則表達式跟字符編碼的關系又密切相關,尤其是字節序,直接影響字符編碼的字節序列。

而由于正則表達式主要用于在字符串中查找、提取字符或子字符串,要想真正理解正則表達式,也離不開對字符編碼的深入理解。

因此,對字符編碼的深入理解,是一個程序員基本功中壓箱底的看家本領,是一個程序員搭建自身技術體系大廈的重要基石。

為此,我會盡量從日常工作中必然會遇到的各種實際問題入手,為你順藤摸瓜、抽絲剝繭,環環相扣、層層深入,盡可能讓你獲得一種打通了技術的任督二脈后一氣周流、酣暢淋漓的暢快感,以及徹底搞懂了技術原理后原來如此、豁然開朗的痛快感。

將涉及到的內容

下面是本《刨根究底字符編碼》系列文章將會涉及到的內容:

1)關鍵術語解釋:位、字節、字與字長、字符集、編碼、解碼、字符編碼、現代字符編碼模型;

2)字符編碼的由來;

3)ASCII字符編碼方案;

4)擴展ASCII字符編碼方案EASCII以及ISO/IEC 8859系列字符編碼方案;

5)漢字編碼方案:GB2312、GBK、GB18030、GB13000、全角與半角、CJK中日韓統一表意文字;

6)漢字編碼中區位碼、國標碼(交換碼)、內碼(機內碼)、外碼(輸入碼)、字形碼(輸出碼)的區別及關系;

7)ANSI編碼;

8)代碼頁(Code Page)、微軟與ANSI代碼頁;

9)Unicode編碼方案的面世;

10)Unicode編碼方案概述;

11)字符編碼模型的演變與字節序;

12)Unicode字符集的編碼方式:碼點、碼元、UTF-8、UTF-16、UTF-32;

13)微軟為什么跟聯通有仇——Windows記事本的字符編碼方式;

14)深入剖析奇葩的Python字符編碼;

15)Vim中的字符編碼問題;

16)Unicode常見問題解答;

17)總結。

總結

以上是生活随笔為你收集整理的【转】刨根究底字符编码【2.0版】(1):开篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。