国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

兩位巨佬的一頓晚飯,整個互聯網被改變了

開發 開發工具
Rob Pike (Go語言發明人之一) 正在操作系統Plan 9 上忙碌,這是繼Unix之后的一個大工程, 馬上就要完工了, 這個時候他突然接到了一個電話。

[[400100]]

 1

1992年9月, 一個周三的下午,貝爾實驗室。

Rob Pike (Go語言發明人之一) 正在操作系統Plan 9 上忙碌,這是繼Unix之后的一個大工程, 馬上就要完工了, 這個時候他突然接到了一個電話。

[[400101]]

(年輕帥氣的Rob Pike)

電話是IBM的人打來的,他們正在奧斯汀參加X/Open 委員會會議, 想請Rob Pike 和 Ken Thomson (Unix發明人) 對他們設計的一個Unicode編碼進行評審。

Rob Pike知道X/Open委員會主要負責制定Unix上的標準規范,以便提高應用程序的在不同Unix變體上的移植性。

很明顯,這一次會議的主題是:編碼!

Rob Pike想到了自己正在忙活的操作系統Plan 9 , 為了支持全世界的語言如英文、中文、韓文、日文、阿拉伯文...... Plan 9 當然要用Unicode 。

[[400102]]

(這貨怎么和Go的吉祥物長得如此之像?)

大家都知道Unicode只是規定了每個字符用什么編碼,但是沒有規定如何去存儲, 當時Plan 9 采用了一個叫做ISO 10646 UTF編碼, 但是這個編碼實在不怎么樣, 按照Rob Pike的話說:我們恨這個編碼。

Rob 和 Ken 立刻意識到:機會來了 !

Rob :我們有豐富的經驗, 為什么不設計一個真正好用的Unicode存儲標準呢?

Ken :同意, 我們設計出來,把標準推廣的事情交給X/Open委員會。

倆人向IBM的人表達了這個想法, 得到了支持,條件是: 一定要快,快速設計、快速實現。

因為下周一就要投票表決了!

對于天才程序員來說,快速、高質量把活兒搞定就是小菜一碟。

他們倆慢悠悠地去餐廳吃飯,在吃飯期間,Ken 和 Rob就把基本的方案給設計出來了,這就是大名鼎鼎的UTF-8。

回到貝爾實驗室,他們就把想法寫成了提綱,發給了X/Open 委員會的人, 委員會的回復是:

這比我們設計的版本好多了,你們什么時候能實現它?

Rob 和Ken 拍著胸脯說:放心吧,下周一肯定能有一個完整的、可以運行的實現。

當天晚上(周三),他們倆就卷起袖子干活, Ken 把packing和unpacking的代碼搞定, Rob則去折騰C和圖形庫相關的東西。

周四,所有的代碼都已完成,開始將Plan 9操作系統上的文本文件轉成UTF-8

周五,Plan 9 操作系統就已經運行在UTF-8上面了。

實際花費不到三天!

這三天的工作成果最終統治了整個互聯網的編碼標準, 統計顯示, 現在96.8%的Web網站在使用UTF-8。



2

故事講完了,我們來看看為什么UTF-8能流行起來。

前面說過Unicode只是一個字符集,它規定了每個字符的二進制代碼,例如“碼” , 對應的Unicode 是7801 , 二進制是

111 1000 0000 0001

需要兩個字節來保存, 如果表示其他更大范圍的字符,可能需要3個字節或者4個字節,甚至更多。

當計算機面對這兩個字節的字節流的時候,就會出現嚴重的問題:計算機怎么知道這兩個字節表示的是一個字符?還是兩個字符?

大家知道英文字母用一個字節保存就夠了,如果Unicode規定每個英文字符也用兩個字節活三個字節來保存,那每個英文字母前面勢必要補上0, 文本文件要大兩到三倍。

這是巨大的浪費,肯定不行。

Rob和Ken的設計的UTF-8就比較聰明, 看看這個表:



把Unicode 轉換成UTF-8,非常簡單,比如漢字“碼” , Unicode 是7801 , 二進制是 111 1000 0000 0001

7810對應上圖的第三行,只要把二進制從右向左填到對應的“模板”中就行,不夠的補零



更多的細節就不展開了,關鍵要看看UTF-8有什么好處。

3

1. 兼容ASCII, 表格中的第一行就是為ASCII所設。

多字節編碼的每個字節的最高位永遠是 1,而 ASCII 字符編碼的最高位是 0,所以從根本上杜絕了編碼沖突。

2. 第一個字節就指明了后續的長度

當程序面對一個字節流的時候,只需要讀出第一個字節最前面有幾個1 ,就知道這個字符的長度,解碼很方便。



3. 前綴碼

大家仔細觀察下, UTF-8中沒有任何合法字符是其他字符的前綴, 這樣就帶來了一個好處:支持程序快速地跳過有問題的字節,然后正常解碼。

假設有兩個中文 “碼” 和 “農”, 對應的UTF-8編碼為E7A081(碼) and E5869C(農)。

但是網絡傳輸丟失了一些數據,變成了 E781 E5869C (即“碼”的A0丟失了)

現在程序先讀到了E7, 二進制是 1110 0111,它就知道這個字符應該是3字節的, 并且后面的兩個字節都應該以10 開頭。

于是它就要再讀兩個字節, 因為A0這個字節丟失了, 程序讀到了81 和 E5。

程序就發現:

81 (二進制10000001) 是符合規范的

E5(二進制11100101)的開始兩個bit不是10啊, 這應該是另外一個字符的開始。

所以程序就判斷出有字符丟失了,可以丟棄剛讀到的E7 81 , 然后從E5開始讀取, E5 86 9C ,最終顯示“農”字。

是不是很巧妙?

 

如需轉載,請通過作者微信公眾號coderising獲取授權。

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2024-07-17 09:16:58

2014-07-24 15:24:36

互聯網大數據

2014-10-08 15:07:45

GITC2014全球互聯網技術大會

2010-12-30 09:17:57

PHP程序

2018-03-22 07:06:20

互聯網互聯網++互聯網

2023-08-18 08:05:36

OpenAI人工智能

2022-08-03 13:56:10

互聯網跳槽

2015-04-02 11:17:20

2009-09-22 09:58:12

2018-09-29 14:59:06

互聯網數據BAT

2019-01-22 10:15:12

互聯網數據技術

2015-07-28 16:17:32

農業互聯網

2018-01-31 09:25:39

2018-08-15 09:02:59

產業互聯網工業互聯網物聯網

2015-06-24 15:35:54

2015-05-28 16:11:07

互聯網+

2015-02-09 09:38:23

2015-10-08 15:20:34

互聯網物聯網

2022-07-31 19:58:22

元宇宙互聯網NFT

2019-12-16 09:35:58

編程PythonJava
點贊
收藏

51CTO技術棧公眾號

末成年女av片一区二区下载| 青青草原综合久久大伊人精品| 成人性生交大片免费| 国产精品露出视频| 国产精品网在线观看| 久久精品国产亚洲| 亚洲国产成人二区| 日韩av在线网| 欧美人体视频xxxxx| 色av一区二区| 最新亚洲伊人网| 亚洲情趣在线观看| 国语对白在线视频| 自拍偷拍欧美激情| 亚洲四虎av| 亚洲四区在线观看| 91大神影片| 亚洲自拍偷拍综合| 午夜影院免费播放| 五月天亚洲婷婷| 又黄又爽在线免费观看| 亚洲777理论| 亚洲超碰在线| 欧美午夜激情在线| 不卡在线视频| 91精品国产综合久久福利| 二区三区在线| 日韩欧美美女一区二区三区| 99爱在线视频| 在线国产精品播放| jizz久久久久久| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩五码电影| 国语自产在线不卡| 美女亚洲一区| 成人女保姆的销魂服务| 国产精品www.| 一区二区成人国产精品 | 成人片在线免费看| 亚洲天堂久久| 欧洲精品久久| 国产成人精品一区二区三区四区| 男人添女人下面高潮视频| 国产三级精品三级在线专区| 99精产国品一二三产品香蕉| 亚洲一区二区三区四区五区中文| 日本在线丨区| 337p日本欧洲亚洲大胆精品| 国产精品亚洲成在人线| 国产精品1区2区在线观看| 韩国自拍一区| av动漫免费观看| 亚洲国产激情av| 国产专区在线| 影音先锋欧美精品| 欧美18免费视频| 国产伦精品一区二区三区免费视频| 免费人成黄页网站在线一区二区| 看av免费毛片手机播放| 天天综合网 天天综合色| 成年女人在线看片| 性视频1819p久久| 国产一区二区三区成人欧美日韩在线观看| 亚洲国产一二三精品无码| 国产精品福利一区| www免费视频观看在线| 久久久久在线观看| 麻豆久久精品| 国产真实伦在线观看| 日韩成人中文字幕在线观看| 成人在线丰满少妇av| 日韩精品一区二区免费| 色综合久久综合中文综合网| 青青草国产一区二区三区| 国产精品欧美久久| 久久精品一区四区| 毛片大全在线观看| 国产在线精品播放| 97精品久久久午夜一区二区三区| 牛牛澡牛牛爽一区二区| 久久精品国产亚洲精品| 99在线精品免费视频九九视| 亚洲人成无码www久久久| 欧美三级电影网| 亚洲精品v亚洲精品v日韩精品| 国产一区二区在线免费视频| 丁香天五香天堂综合| 午夜视频在线看| 久久国产精品久久国产精品| 99视频一区| gogo高清免费视频| 中国日韩欧美久久久久久久久| 亚洲午夜91| 老司机很黄的视频免费| 亚洲视频在线免费观看| 国精品一区二区三区| 中文字幕第38页| 亚洲色图偷窥自拍| 国产日韩一区二区三区在线播放| 黄色网免费看| 欧美大片欧美激情性色a∨久久| 免费在线观看成人| 水莓100国产免费av在线播放| 久99九色视频在线观看| 精品一区二区三区在线观看| 东热在线免费视频| 国产精品嫩草视频| 国产精品久线在线观看| 最新欧美色图| 日韩中文字幕一区| 色哟哟在线观看一区二区三区| 精品亚洲免a| 国产熟女高潮视频| 亚洲美女久久久| 玖玖国产精品视频| 成人高清在线| 91pron在线| 一区二区三区四区激情| 亚洲精品一区国产| 成人国产一区二区三区| 91精品国产综合久久精品 | 日韩一区av在线| 国产毛片一区| 最新91在线| 8x拔播拔播x8国产精品| 99re在线精品| 不卡亚洲精品| 成年在线观看视频| 亚洲石原莉奈一区二区在线观看| 久久99精品一区二区三区三区| aaa在线观看| 国产在线欧美日韩| 在线视频一区二区三区| 亚洲黄色毛片| 成人免费视屏| 欧美日韩在线一二三| 欧美群妇大交群中文字幕| 亚洲精品专区| 成人无遮挡免费网站视频在线观看| 91欧美视频网站| 精品美女久久久久久免费| 99精品视频精品精品视频 | 大地资源网3页在线观看| 久久精品中文字幕一区二区三区 | 精品国产老师黑色丝袜高跟鞋| 精品理论电影在线| 韩国版免费三体| 国产精品jizz在线观看麻豆| 国产精品久久久久久久久免费桃花| 视频在线观看免费影院欧美meiju| 久色视频在线播放| 国内伊人久久久久久网站视频| 日本一区免费视频| 综合综合综合综合综合网| 免费看的毛片| 亚洲一区二区在线| 91精品国模一区二区三区| 精彩视频一区二区三区| 日韩福利影视| 白天操夜夜操| 亚洲影院高清在线| 欧美日韩一区成人| 一级毛片在线看| 午夜国产视频| 蜜臀av色欲a片无码精品一区| 日韩影片中文字幕| 亚洲精品国产suv一区88| 夜夜嗨av色一区二区不卡| 26uuu国产一区二区三区| 亚洲三区欧美一区国产二区| 99ri国产在线| 亚洲xxxx18| 日韩三级视频中文字幕| 激情五月婷婷综合| 日韩一区二区三区精品| 疯狂做受xxxⅹ高潮视频免费| 91久久精品视频| 欧美mv和日韩mv国产网站| 成人精品国产免费网站| 青青操综合网| 91在线不卡| 日韩国产成人无码av毛片| 欧美性做爰毛片| 日本韩国一区二区| 国产一区二区三区观看| 欧美xxxx在线| 在线免费观看污| 国产视频一区二区视频| 成人av资源网| 色琪琪综合男人的天堂aⅴ视频| 自拍av一区二区三区| 国产乱码精品| 亚洲三区欧美一区国产二区| 久草.com| 亚洲国产精品久久久久婷婷老年| 久久夜色撩人精品| 欧美在线视频日韩| 久久久一区二区三区捆绑**| 欧美精品午夜| 一区二区免费|