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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

深入理解ASCII,Unicode和UTF-8编码

發(fā)布時間:2025/6/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入理解ASCII,Unicode和UTF-8编码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.為什么需要編碼?

??由于計算機只能處理0和1(即兩種狀態(tài):高低電平),所有我們需要將英文字母,數(shù)字,特殊符號翻譯成計算機認識的0和1,那如何去翻譯以及用何種規(guī)則去翻譯呢,于是聰明的人們發(fā)明了一系列編碼規(guī)則,即字符和數(shù)字的對應。最先被發(fā)明的是ASCII編碼,后來則衍生出了Unicode編碼和UTF-8編碼。

2.編碼格式的演變

??世界第一臺計算機誕生于美國賓西法尼亞大學,所以最早使用計算機的是美國人,最早的信息交換代碼也誕生于美國,即ASCII(America Standard Code for Infomation Interchange,美國信息交換標準代碼)。ASCII碼實質(zhì)就是數(shù)字和字符的對應關系,比如大寫字母"A"所對應的十進制數(shù)字為65(為了更易理解我們以十進制舉例,八進制,十六進制同理),而十進制數(shù)字65在計算機中表示為01000001,計算機不能存儲字符,但是能存儲0和1,所以字母“A”在計算機中實際存儲為01000001,占8位,即1個字節(jié)。其他字符也是同樣的道理,各自對應一個十進制數(shù)字,可參考ASCII碼標準對照表。是不是很簡單,但是為何人們還制定Unicode編碼呢?由于ASCII編碼是美國標準,所涵蓋的字符也只僅僅包含了A-Z,a-z,數(shù)字0-9,以及其他的控制字符和一些特殊字符,一共包含127個字符,后來由于計算機普及,這127個符號已經(jīng)不能滿足人們的需求,于是IBM利用128~255位對ASCII碼進行了補充,包含了附加符號符號,希臘字母以及制圖符號等,這一部分編碼則稱為擴展ASCII碼。
??世界上有上百種語言,很顯然,標準ASCII碼和擴展ASCII碼仍然不能滿足不同國家對于編碼的需求,比如漢字的“漢”就不能用ASCII碼表示,如果在編輯器設置了ASCII編碼,在遇到漢字的情景下則會出現(xiàn)亂碼,于是中國制定了GB2312編碼,日本制定了Shift_JIS編碼,但是同一款應用,不同地區(qū)的人使用,就需要包含不同的編碼集合,顯然這樣做是不明智的,于是Unicode應運而生。Unicode編碼通常用2個字節(jié)表示,有些偏僻的字符會用到2-4個字節(jié),從而實現(xiàn)一套編碼保存所有字符,這樣不同國家,不同地區(qū)就形成了一套統(tǒng)一的編碼格式。
??還是拿字符“A”舉栗子,“A”對應的ASCII碼為01000001,如果將“A”用Unicode編碼表示就在前面補0就可以了,0000000001000001,現(xiàn)在我們也可以用Unicode編碼來表示“漢”了,0110110001001001。不難發(fā)現(xiàn),如果用Unicode去編碼所有的字符,亂碼的問題也就迎刃而解,但是問題也來了,如果一段文字中,既有英文字母,又有漢字,英文字母同樣也會用2個字節(jié)(16位)來進行表示,這顯然會造成存儲空間的浪費。那么有沒有一種更加通用并且更加節(jié)省存儲空間的編碼呢?當然是有的,聰明的人們發(fā)明出了UTF-8編碼,UTF-8是一種可變長的編碼,為啥叫UTF-8呢,這個8是什么意思呢?8代表一個字節(jié),即8位,但不代表UTF-8用一個字節(jié)表示一個字符,而是在UTF-8編碼格式下,一個字符所占字節(jié)大小變化的最小單位,有點繞,說人話就是由于UTF-8編碼下,不同字符占用空間的大小是可變的,每個字符可能是1個字節(jié),也可能是2個或者3個字節(jié)。 ??

----- 待更新

總結

以上是生活随笔為你收集整理的深入理解ASCII,Unicode和UTF-8编码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。