0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)編碼全解析(下)

jf_78858299 ? 來源:小余的自習(xí)室 ? 作者:小余的自習(xí)室 ? 2023-03-30 10:29 ? 次閱讀

7.Unicode、UCS

以上的編碼都是本地化編碼, 一國之內(nèi)還沒有問題,但是要跨國,就不行了 。比如漢字,在只有ISO-8859系列字符集的電腦上顯示就只能是亂碼了,要顯示漢字,電腦上必須裝GB2312或GBK的字符集。有沒有一個(gè)字符集,能夠包含全球所有的字符呢?這就是Unicode和UCS

1988年,Joe Becker 發(fā)布了一個(gè)草案,提出了“Unicode”的概念,他解釋說“‘Unicode’是一種唯一的、統(tǒng)一的、全球的編碼”。后來,RLG、Sun、Microsoft、NeXT(喬布斯被趕出蘋果后創(chuàng)建的公司)的人也都逐漸加入到Unicode工作組里。1991年1月3日,Unicode聯(lián)盟組織成立,同年發(fā)布了Unicode1.0.

同時(shí),ISO組織也在做同樣的事情,創(chuàng)造一個(gè)全球統(tǒng)一的字符集(Universal Coded Character Set,簡稱UCS),1993年發(fā)布了標(biāo)準(zhǔn)ISO 10646-1。

后來,兩個(gè)組織認(rèn)識(shí)到,世界不需要兩個(gè)不兼容的字符集,于是,開始合作。從Unicode2.0開始,開始采用和UCS相同的字庫和字碼。這樣,兩個(gè)項(xiàng)目仍都存在,并獨(dú)立地公布各自的標(biāo)準(zhǔn)。但雙方都同意保持兩者標(biāo)準(zhǔn)的碼表兼容,并緊密地共同調(diào)整任何未來的擴(kuò)展。所以,現(xiàn)在說到UCS字符集,跟Unicode可以看成一回事。

Unicode編碼包含兩個(gè)層次:第一層定義字符的數(shù)值和第二層 定義數(shù)值的實(shí)現(xiàn)方式 。Unicode用數(shù)字 0x0~0x10FFFF 表示所有字符,所以最多可以容納 1114112 個(gè)字符。 數(shù)值的編碼方式,也就是實(shí)現(xiàn)方式包括 UTF-8,UTF-16,UTF-32 三種 。

有人會(huì)說,Unicode不是兩個(gè)字節(jié)表示字符的碼?為什么數(shù)值可以到0x10FFFF,這不21位,兩個(gè)半字節(jié)還多了嗎?其實(shí),這是混淆了Unicode的數(shù)值定義和實(shí)現(xiàn),這根本就是兩個(gè)概念,Unicode到底用幾個(gè)字節(jié)表示,取決于其實(shí)現(xiàn)方式是UTF-8,UTF-16,還是UTF-32.

比如,“漢字”對(duì)應(yīng)的Unicode值是0x6c49和0x5b57,而編碼實(shí)現(xiàn)是:

char data_utf8[]= {0xE6,0xB1,0x89,0xE5,0xAD,0x97}; //UTF-8編碼 char16_t data_utf16[]= {0x6C49,0x5B57}; //UTF-16編碼 char32_t data_utf32[]= {0x00006C49,0x00005B57}; //UTF-32編碼

UTF-8

UTF,全稱“Unicode Transformation Formats”。是Unicode的編碼格式。

UTF-8是使用8-bit為單位,對(duì)Unicode進(jìn)行編碼的。特點(diǎn)是,對(duì)不同范圍的字符使用不同長度的編碼。

Unicode編碼(十六進(jìn)制) UTF-8 字節(jié)流(二進(jìn)制)
00000000 - 0000007F 0xxxxxxx
00000080 - 000007FF 110xxxxx 10xxxxxx
00000800 - 0000FFFF 1110xxxx 10xxxxxx 10xxxxxx
00010000 - 001FFFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
00200000 - 03FFFFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
04000000 - 7FFFFFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

UTF-8 的編碼規(guī)則很簡單: 如果只有一個(gè)字節(jié),那么最高的比特位為 0;如果有多個(gè)字節(jié),那么第一個(gè)字節(jié)從最高位開始,連續(xù)有幾個(gè)比特位的值為 1,就使用幾個(gè)字節(jié)編碼,剩下的字節(jié)均以 10 開頭 。具體的表現(xiàn)形式為(xxx 就用來存儲(chǔ) Unicode 中的字符編號(hào)):

0xxxxxxx:單字節(jié)編碼形式,這和 ASCII 編碼完全一樣,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:雙字節(jié)編碼形式;
1110xxxx 10xxxxxx 10xxxxxx:三字節(jié)編碼形式;
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字節(jié)編碼形式。

下面是一些字符的編碼實(shí)例(綠色部分表示本來的 Unicode 編號(hào)):

字符 N ?
Unicode 編號(hào)(二進(jìn)制) 01001110 11100110 00101110 11101100
Unicode 編號(hào)(十六進(jìn)制) 4E E6 2E EC
UTF-8 編碼(二進(jìn)制) 01001110 11000011 10100110 11100010 10111011 10101100
UTF-8 編碼(十六進(jìn)制) 4E C3 A6 E2 BB AC

UTF-8編碼的最大長度是6個(gè)字節(jié)。

  • 對(duì)于0x00-0x7F之間的字符,UTF-8編碼與ASCII編碼完全相同,用1個(gè)字節(jié)表示,首位為0。
  • 對(duì)于0x80-0x7FF之間的字符,用2個(gè)字節(jié)表示,第一個(gè)字節(jié)前三位“110”為標(biāo)志位,第二個(gè)字節(jié)前兩位“10”為標(biāo)志位。剩下的11位用來表示Unicode值(7FF最多11位)。
  • 同樣,UTF-8的3個(gè)字節(jié),可以表示0x800-0xFFFF的Unicode(最多16位)。
  • UTF-8的4個(gè)字節(jié),可以表示0x10000-0x001FFFFF的Unicode(最多21位)。 4個(gè)字節(jié)以內(nèi),已經(jīng)包含了Unicode所有字符。
  • 5、6個(gè)字節(jié)表示的已經(jīng)是非Unicode編碼范圍,屬于UCS-4 編碼。早期UTF-8規(guī)范也可以達(dá)到6字節(jié)序列,不過2003年11月UTF-8 被 RFC 3629 重新規(guī)范,只能使用原來Unicode定義的區(qū)域, U+0000到U+10FFFF。根據(jù)規(guī)范,這些字節(jié)值將無法出現(xiàn)在合法 UTF-8序列中。
例1:“漢”字的Unicode編碼是0x6C49。0x6C49在0x0800-0xFFFF之間,使用用3字節(jié)模板了:1110xxxx 10xxxxxx 10xxxxxx。將0x6C49寫成二進(jìn)制是:0110 1100 0100 1001, 用這個(gè)比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。
例2:Unicode編碼0x20C30在0x010000-0x10FFFF之間,使用用4字節(jié)模板了:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx。將0x20C30寫成21位二進(jìn)制數(shù)字(不足21位就在前面補(bǔ)0):0 0010 0000 1100 0011 0000,用這個(gè)比特流依次代替模板中的x,得到:11110000 10100000 10110000 10110000,即F0 A0 B0 B0。

UTF-8有兩個(gè)好處:

    1. 1字節(jié)字符、2字節(jié)字符、3字節(jié)字符……的首字節(jié)標(biāo)志位不同,這樣可以很清楚的區(qū)分一個(gè)字節(jié)屬于1字節(jié)字符還是2字節(jié)字符,如果一個(gè)字節(jié)流傳輸中出現(xiàn)錯(cuò)誤,也不會(huì)錯(cuò)位,只影響部分字符,根據(jù)標(biāo)志位,很容易找到下個(gè)正確字符。
    1. 兼容ASCII碼, 英美字符用UTF-8可以一個(gè)字節(jié)表示,所以,www組織選用UTF-8作為推薦編碼格式。2007年,在互聯(lián)網(wǎng)上,UTF-8格式已經(jīng)超過了ASCII碼。

UTF-16

UTF-16以2字節(jié)為單位,等同于UCS-2.

Unicode編碼(十六進(jìn)制) UTF-16 字節(jié)流(二進(jìn)制)
00000000 - 0000FFFF xxxxxxxx xxxxxxxx
00010000 - 0010FFFF 110110yyyyyyyyyy 110111xxxxxxxxxx

Unicode值小于等于0xFFFF的,直接用兩個(gè)字節(jié)表示,超過0xFFFF的,無法用兩個(gè)字節(jié)表示。使用下面公式編碼:

  1. 1.計(jì)算 U’= U – 0x10000
    
    2. 將U'寫成二進(jìn)制形式:yyyy yyyy yyxx xxxx xxxx
    
    3. 加上標(biāo)志位,1101 10yy yyyy yyyy 1101 11xx xxxx xxxx:高位代理值為D800,低位代理值為DC00
    

    可見,這是4個(gè)字節(jié)表示,2個(gè)6位標(biāo)志位,20位有效位。因?yàn)閁最大是0x10FFFF,所以U’最大是0xFFFFF,20位足夠表示 。

    案例1:

    U+0020,這個(gè)值的范圍在第一部分,即經(jīng)過UTF-16編碼后,結(jié)果仍然為U+0020,在內(nèi)存中的順序?yàn)?span id="e6pvt3a"    class="hljs-number">00 20

    案例2:

    U+12345, 這個(gè)值的范圍在第二部分,因此需要先減去0x10000,得到0x02345,拆分成高1000 0000 1000和低1011 0100 0101。根據(jù)上面規(guī)則加上特定值后,高位代理值為D808,低位代理值為DF45,最終內(nèi)存中的順序?yàn)镈8 08 DF 45。
    

BOM的含義

BOM即Byte Order Mark字節(jié)序標(biāo)記。BOM是為UTF-16和UTF-32準(zhǔn)備的,用戶標(biāo)記字節(jié)序(byte order)。拿UTF-16來舉例,其是以兩個(gè)字節(jié)為編碼單元,在解釋一個(gè)UTF-16文本前,首先要弄清楚每個(gè)編碼單元的字節(jié)序。例如收到一個(gè)“奎”的Unicode編碼是594E,“乙”的Unicode編碼是4E59。如果我們收到UTF-16字節(jié)流"594E",那么這是“奎”還是“乙”?

我們先來來看下UTF-16-Big Endian文件格式:

圖片

可以看到此時(shí)“文件”二字的unicode編碼并沒有超過0xFFFF,所以使用兩個(gè)字節(jié)來保存:

最早的“fe ff”即為Bom標(biāo)簽

我們再來看下UTF-16-Little Endian文件格式:


圖片

使用的Bom標(biāo)簽居然變?yōu)榱薴ffe。

Unicode規(guī)范中推薦的標(biāo)記字節(jié)順序的方法是BOM:在UCS編碼中有一個(gè)叫做"ZERO WIDTH NO-BREAK SPACE"(零寬度無間斷空間)的字符,它的編碼是FEFF。而FEFF在UCS中是不不能再的字符(即不可見),所以不應(yīng)該出現(xiàn)在實(shí)際傳輸中。UCS規(guī)范建議我們在傳輸字節(jié)流前,先傳輸字符"ZERO WIDTH NO-BREAK SPACE"。這樣如果接收者接收到FEFF,就表明這個(gè)字節(jié)流是Big-Endian的;如果收到FFFE,就表明這個(gè)字節(jié)流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被稱為BOM。

windows上默認(rèn)的Unicode編碼方式就是UTF-16,使用wchar_t表示。

UTF-32

UTF-32編碼以4字節(jié)為單位 。直接把Unicode值轉(zhuǎn)為4字節(jié)二進(jìn)制數(shù)就是其UTF-32編碼。等同于UCS-4.

8.Base64

有的電子郵件系統(tǒng)(比如國外信箱)不支持非英文字母(比如漢字)傳輸,這是歷史原因造成的(認(rèn)為只有美國會(huì)使用電子郵件?)。因?yàn)橐粋€(gè)英文字母使用ASCII編碼來存儲(chǔ),占存儲(chǔ)器的1個(gè)字節(jié)(8位),實(shí)際上只用了7位2進(jìn)制來存儲(chǔ),第一位并沒有使用,設(shè)置為0,所以,這樣的系統(tǒng)認(rèn)為凡是第一位是1的字節(jié)都是錯(cuò)誤的。而有的編碼方案(比如GB2312)不但使用多個(gè)字節(jié)編碼一個(gè)字符,并且第一位經(jīng)常是1,于是郵件系統(tǒng)就把1換成0,這樣收到郵件的人就會(huì)發(fā)現(xiàn)郵件亂碼。

為了能讓郵件系統(tǒng)正常的收發(fā)信件,就需要把由其他編碼存儲(chǔ)的符號(hào)轉(zhuǎn)換成ASCII碼來傳輸。比如 , 在一端發(fā)送GB2312編碼->根據(jù)Base64規(guī)則->轉(zhuǎn)換成ASCII碼,接收端收到ASCII碼->根據(jù)Base64規(guī)則->還原到GB2312編碼 。

9.Big5

在臺(tái)灣、香港與澳門地區(qū),使用的是繁體中文字符集。而1980年發(fā)布的GB2312面向簡體中文字符集,并不支持繁體漢字。在這些使用繁體中文字符集的地區(qū),一度出現(xiàn)過很多不同廠商提出的字符集編碼,這些編碼彼此互不兼容,造成了信息交流的困難。為統(tǒng)一繁體字符集編碼,1984年,臺(tái)灣五大廠商宏碁、神通、佳佳、零壹以及大眾一同制定了一種繁體中文編碼方案,因其來源被稱為五大碼,英文寫作Big5,后來按英文翻譯回漢字后,普遍被稱為大五碼。 大五碼是一種繁體中文漢字字符集,其中繁體漢字13053個(gè),808個(gè)標(biāo)點(diǎn)符號(hào)、希臘字母及特殊符號(hào)。大五碼的編碼碼表直接針對(duì)存儲(chǔ)而設(shè)計(jì),每個(gè)字符統(tǒng)一使用兩個(gè)字節(jié)存儲(chǔ)表示。第1字節(jié)范圍81H-FEH,避開了同ASCII碼的沖突,第2字節(jié)范圍是40H-7EH和A1H-FEH。因?yàn)锽ig5的字符編碼范圍同GB2312字符的存儲(chǔ)碼范圍存在沖突,所以在同一正文不能對(duì)兩種字符集的字符同時(shí)支持。 Big5編碼的分布如表1-5所示,Big5字符主要部分集中在三個(gè)段內(nèi):標(biāo)點(diǎn)符號(hào)、希臘字母及特殊符號(hào);常用漢字;非常用漢字。其余部分保留給其他廠商支持。

Big5編碼推出后,得到了繁體中文軟件廠商的廣泛支持,在使用繁體漢字的地區(qū)迅速普及使用。目前,Big5編碼在臺(tái)灣、香港、澳門及其他海外華人中普遍使用,成為了繁體中文編碼的事實(shí)標(biāo)準(zhǔn)。在互聯(lián)網(wǎng)中檢索繁體中文網(wǎng)站,所打開的網(wǎng)頁中,大多都是通過Big5編碼產(chǎn)生的文檔。

總結(jié)各種字符編碼之間的關(guān)系

上面關(guān)于字符集和編碼講了許多概念,其實(shí)歸類一下可以這么理解: 首先是單字節(jié)字符集:

  • 1、最初美國ANSI發(fā)明了自己的編碼ASCII,7-bit足夠,這是標(biāo)準(zhǔn)ASCII。
  • 2、標(biāo)準(zhǔn)ASCII碼沒有西歐國家拉丁文、英鎊等字符,各公司、國家開始擴(kuò)展,形成自己的擴(kuò)展ASCII碼字符集,各方混戰(zhàn),不過8-bit也就足夠。
  • 3、天下分久必合,ISO統(tǒng)一了8-bit字符集,叫做ISO 8859.

但是亞洲國家字符更多,一個(gè)字節(jié)遠(yuǎn)遠(yuǎn)不夠,于是用多個(gè)字節(jié)表示,擴(kuò)展形成本國字符集,中國GB系列,臺(tái)灣Big5,日本JIS……,這些叫做多字節(jié)字符集(MBCS),windows中用雙字節(jié)表示,也叫做(DBCS)。

以上字符都是群雄割據(jù),各自為政,windows為了迎合大家需求,在哪個(gè)國家,默認(rèn)編碼就用那個(gè)國家的,不過后來不知怎么被誤傳位ANSI編碼,其實(shí)ANSI怎么可能定義世界各國編碼,不過可以理解成各編碼都是在ANSI*礎(chǔ)上擴(kuò)展的,因?yàn)槎技嫒軦NSI的標(biāo)準(zhǔn)ASCII碼。

這時(shí),ISO再次出手,和Unicode聯(lián)盟攜手打造了Unicode(UCS),意圖一統(tǒng)江湖。Unicode確實(shí)包羅萬象,涵蓋了各國字符,于是流行世界。Unicode自身只定義了每個(gè)字符的數(shù)值,真正二進(jìn)制編碼格式卻是UTF-8,UTF-16(UCS-2),UTF-32(UCS-4)。

我們下期見。

參考

刨根究底字符編碼之五——簡體漢字編碼方案(GB2312、GBK等)以及全角、半角、CJK

字符集和字符編碼

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7305

    瀏覽量

    87562
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    921

    瀏覽量

    54716
  • BUG
    BUG
    +關(guān)注

    關(guān)注

    0

    文章

    155

    瀏覽量

    15635
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)基礎(chǔ)

    計(jì)算機(jī)與網(wǎng)絡(luò)技術(shù)基礎(chǔ)了解計(jì)算機(jī)網(wǎng)絡(luò)的形成與發(fā)展過程  掌握計(jì)算機(jī)網(wǎng)絡(luò)的定義、分類、功能和典型應(yīng)用  掌握計(jì)算機(jī)網(wǎng)絡(luò)的組成結(jié)構(gòu)  了解
    發(fā)表于 12-07 13:36

    計(jì)算機(jī)與第三方設(shè)備通信時(shí),常用的計(jì)算機(jī)編碼

    計(jì)算機(jī)與第三方設(shè)備通信時(shí),常用的計(jì)算機(jī)編碼
    發(fā)表于 07-10 13:06

    什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件?

    第一章 計(jì)算機(jī)系統(tǒng)概論1. 什么是計(jì)算機(jī)系統(tǒng)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件?硬件和軟件哪個(gè)更重要?解:P3計(jì)算機(jī)系統(tǒng):由
    發(fā)表于 07-22 09:06

    計(jì)算機(jī)應(yīng)用

    1、第一臺(tái)計(jì)算機(jī):1946年2月14日,在美國賓西尼亞大學(xué)的莫爾電機(jī)學(xué)院,世界第一臺(tái)現(xiàn)代電子計(jì)算機(jī)“埃尼阿克”ENIAC誕生,重達(dá)30t,在1s內(nèi)能進(jìn)行5000次加法運(yùn)算和500次乘法運(yùn)算。2
    發(fā)表于 09-10 08:17

    計(jì)算機(jī)運(yùn)算速度是指什么

    計(jì)算機(jī)運(yùn)算速度是指什么?按傳輸介質(zhì)分類,計(jì)算機(jī)網(wǎng)絡(luò)可分為哪幾種?使用16位二進(jìn)制編碼表示聲音與使用8位二進(jìn)制編碼表示聲音的效果有何不同?
    發(fā)表于 10-19 09:05

    什么是程序?什么是計(jì)算機(jī)

    什么是程序?程序(Program)流程、議程、行程、…為了完成某項(xiàng)任務(wù),解決某個(gè)問題需要執(zhí)行的一系列步驟計(jì)算機(jī)程序?yàn)榱送瓿赡稠?xiàng)任務(wù),解決某個(gè)問題由計(jì)算機(jī)執(zhí)行的一系列指令(步驟)什么是計(jì)算機(jī)?計(jì)
    發(fā)表于 11-23 09:02

    對(duì)計(jì)算機(jī)三級(jí)嵌入式綜合題的解析

    今天這篇文章主要指針對(duì)計(jì)算機(jī)三級(jí)嵌入式綜合題的解析,對(duì)于沒有單片機(jī)基礎(chǔ)的同學(xué)來說配置寄存器有些困難,所以今天我就給大家分享一我的經(jīng)驗(yàn),希望這篇文章可以幫助到大家,如有錯(cuò)誤歡迎指正??!首先來分析矩陣
    發(fā)表于 12-23 07:39

    計(jì)算機(jī)應(yīng)用基礎(chǔ)教案

    介紹什么是計(jì)算機(jī)計(jì)算機(jī)的特點(diǎn),計(jì)算機(jī)的應(yīng)用與發(fā)展:什么是計(jì)算機(jī)計(jì)算機(jī)的發(fā)展;計(jì)算機(jī)的分類;
    發(fā)表于 09-25 12:45 ?0次下載

    計(jì)算機(jī)應(yīng)用基礎(chǔ)課程

    計(jì)算機(jī)的分類、特點(diǎn)及應(yīng)用領(lǐng)域 計(jì)算機(jī)的進(jìn)位計(jì)數(shù)制 計(jì)算機(jī)的信息編碼標(biāo)準(zhǔn)
    發(fā)表于 05-15 09:57 ?0次下載

    用SD卡設(shè)計(jì)8086計(jì)算機(jī)的硬盤

    介紹了8086計(jì)算機(jī)的體系架構(gòu),設(shè)計(jì)了8086計(jì)算機(jī)與SD卡連接的硬件接口,并使用軟件和硬件相結(jié)合的調(diào)試方法,可快速調(diào)試驗(yàn)證SD卡的功能.通過FPGA的驗(yàn)證,SD卡作為8086
    發(fā)表于 11-09 16:47 ?66次下載

    計(jì)算機(jī)尋址方式解析

    計(jì)算機(jī)尋址方式解析 尋址方式 就是尋找操作數(shù)地址的方式,解決的是如何在指令中表示一個(gè)操作數(shù)的地址。 形式地址 :在指令中出現(xiàn)的操作數(shù)地址
    發(fā)表于 04-15 11:22 ?6766次閱讀

    從5個(gè)方面來解析計(jì)算機(jī)中的字符編碼概念

    字符編碼計(jì)算機(jī)編程中不可回避的問題,不管你用 Python2 還是 Python3,亦或是 C++, Java 等,我都覺得非常有必要厘清計(jì)算機(jī)中的字符編碼概念。
    的頭像 發(fā)表于 01-16 09:08 ?7856次閱讀
    從5個(gè)方面來<b class='flag-5'>解析</b><b class='flag-5'>計(jì)算機(jī)</b>中的字符<b class='flag-5'>編碼</b>概念

    計(jì)算機(jī)算術(shù)運(yùn)算實(shí)現(xiàn)原理

    計(jì)算機(jī)算術(shù)運(yùn)算實(shí)現(xiàn)原理解。
    發(fā)表于 03-26 14:04 ?5次下載

    計(jì)算機(jī)編碼解析(上)

    你是不是工作了很多年了,一直沒搞清楚計(jì)算機(jī)中的各種編碼規(guī)則,雖然平時(shí)都會(huì)使用,但是內(nèi)部機(jī)制原理一直都是之其然而不知其所以然,開發(fā)中也會(huì)經(jīng)常涉及到這塊內(nèi)容,但都沒有太多重視,這可能會(huì)讓有吃一些虧(出項(xiàng)目bug了),本著追本溯源的精神或是為了讓自己在少出血bug,小余今天就來
    的頭像 發(fā)表于 03-30 10:28 ?1148次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>編碼</b><b class='flag-5'>全</b><b class='flag-5'>解析</b>(上)

    計(jì)算機(jī)編碼解析(中)

    你是不是工作了很多年了,一直沒搞清楚計(jì)算機(jī)中的各種編碼規(guī)則,雖然平時(shí)都會(huì)使用,但是內(nèi)部機(jī)制原理一直都是之其然而不知其所以然,開發(fā)中也會(huì)經(jīng)常涉及到這塊內(nèi)容,但都沒有太多重視,這可能會(huì)讓有吃一些虧(出項(xiàng)目bug了),本著追本溯源的精神或是為了讓自己在少出血bug
    的頭像 發(fā)表于 03-30 10:28 ?1110次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>編碼</b><b class='flag-5'>全</b><b class='flag-5'>解析</b>(中)