乙:嗨,你幫我個忙,今天領導說要我處理這個**,可我看不懂這是啥玩意,你幫我瞧瞧。
甲:哦,這是亂碼。
乙:為什麼會出現亂碼呢?
甲:說來話可長了…
乙:快說!快說!
甲:美國人發明電腦時,需要儲存字元,所以使用了乙個數字乙個字元的方法,有128個字元。
乙:太少了。
甲:嗯。確實少。它只有7個位元,當時有個1mb記憶體大家都來羨慕你。請看錶
乙:好像不夠啊…
甲:沒錯。所以各個國家為了語言要求,有自己的編碼形式。我們中國有gbk、gb2312等。
乙:那我們打字需要的製表符之類的呢?
甲:有ascii擴充套件。ascii變成了8位元。
甲:可是,如果你要給國外的人發一封信呢?
一開啟:
甲:為了統一,unicode誕生了。
utf-16
甲:utf16是一種unicode,確切地說是早期的unicode。
甲:2個位元組為乙個字元,可以有65536個字元。:
乙:真多。
甲:光中日韓文字就佔一半。
乙:可不是嘛。中華文化博大精深嘛。
甲:可是unicode5.0發現不夠。
乙:怎麼能不夠呢?
甲:你不信?看看unicode表
乙:還真是。
甲:於是!
乙:魚是?我知道魚是什麼!就是?唄!
甲:別抬槓。
甲:有20位元,1114111個字元。
乙:太多了。哎?亂碼是怎麼來的呢?
甲:別急。現在,系統一般只支援65535個字元的utf-16,所以遇到utf-16無法顯示的就用0xfffd來代替。
乙:0xfffd長什麼樣?
甲:� 就是這樣。
乙:┗|`o′|┛ 哦~~
甲:我們中國系統用的是gbk/gb2312格式,如果發來乙個utf8格式的檔案,不轉換直接解碼會造成亂碼。
乙:噢。那錕斤拷是如何產生的呢?
甲:如果有連續兩個�,那麼utf-8是這樣的:0xef 0xbf 0xbd
0xef 0xbf 0xbd
甲:按照gbk方式解碼是0xef 0xbf, 0xbd 0xef, 0xbf 0xbd,即錕斤拷。
乙:噢。前段時間在朋友圈看到有人發一句奇怪的話:
手持兩把錕斤拷 口中疾呼燙燙燙 腳踏千朵屯屯屯 笑看萬物鍩鍩鍩
乙:我還以為他腦子有毛病呢。
·······································
·· 第二天…··
··································
甲:你怎麼啦?
乙:錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷錕斤拷…
甲:什麼?
乙:我的嘴是utf-8的,你的耳朵是gbk的,咱倆亂碼了…
於是。
乙:不要啊!啊~~~~~~~~
-------------------------------- 完-------------------------------
寫給大忙人看的Go語言
寫給大忙人看的golang教程 一 閱讀本文之前,我認為你已經掌握其他語言基礎並寫出乙個簡單的專案。15.1 順序控制 略 15.2 分支控制 15.3 迴圈控制 設定隨機數的種子為當前的系統時間 rand.seed time.now unix 生成0 99範圍的隨機數 randomnumber r...
寫給大忙人的模電複習資料(002)
對於rc低通電路而言,fh 12 r cf frac fh 2 rc1 對於rc高通電路而言,fl 單極性器件 載流子只有一種 空穴或者自由電子 工作電流 半導體中多子的漂移 一般我們都是考慮共源極n溝道的增強型mos管,其輸出特性曲線如下 這要與npn三極體的共射極輸出特性曲線相區別,如下圖所示 ...
寫給大忙人看的如何優雅設定執行緒池的大小
執行緒池需要設定合適的大小,假如設定的太大,執行緒上線文切換過於頻繁,造成大量資源開銷,反而會使效能降低。假如設定的太小,存在很多可用的處理器資源卻未在工作,會造成資源的浪費和對吞吐量造成損失。為了充分利用處理器資源,建立的執行緒數至少要等於處理器核心數。如果所有的任務都是計算密集型的,那麼執行緒數...