欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

字符集與編碼

一個比特(bit)可以是0,或者是1,8個比特(bit),組成一個字節(jié)(byte)。全為0時代表數(shù)字0,全為1時代表數(shù)字255。

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)公司的服務宗旨!把網(wǎng)站當作互聯(lián)網(wǎng)產品,產品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設中就是為了建設一個不僅審美在線,而且實用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設計、網(wǎng)站優(yōu)化、網(wǎng)絡推廣、探索永無止境。

一個字節(jié)可以表示256個數(shù)字,兩個字節(jié)可以表示個數(shù)字。

更多的字節(jié),可以有更多的組合,就可以表示更大的數(shù)值范圍。

整數(shù)可以這么存,那字符呢?一堆二進制的0和1,怎么也算不出字母A吧。不能直接表示,那就通過數(shù)字中轉一下。只要給它指定一個數(shù)值編號,要存儲字符時,就存儲這個數(shù)值。要讀取時,按照映射關系找到這個字符。

像這樣收錄許多字符然后給它們一一編號,得到一個字符編號對照表,這就是“字符集”。

ASCII字符集只收錄了128個字符,其擴展字符集也只有256個。(ASCII最初被設計的目的也只是用來映射英文體系所需要的字符)

這在只使用英文的國家貌似沒什么問題,但是隨著世界的互聯(lián),其它非英語母語的國家該怎么辦呢?比如漢字、日文等。

針對漢字,最先設計了GB2312字符集、但是GB2312不包含繁體字,所以又設計了BIG5字符集,但是依然有很多字符沒有被收錄,其它國家的字體也不在其中

與其不斷推出收錄更多字符的字符集,還不如本著全球化統(tǒng)一標準的目的,制作一個通用字符集,Unicode學術學會就是這樣做的,這個字符集就是Unicode,它于1990年開始研發(fā)并于1994年正式公布,實現(xiàn)了跨語言跨平臺的文本轉換與處理,字符集促成了字符與二進制的合作。但是有了字符集就萬事大吉了嗎?那怎么存儲(eggo世界)這個內容呢?

直接的想法是,找到每個字符對應的編號,存成二進制,如果使用unicode字符集,拿到他們的編號,直接組合會得到這樣一大串二進制位

問題出現(xiàn)了,該怎么知道這一長串內容是要按照下面的方式劃分的呢?

也可以按照下面的方式劃分呀

所以,照搬編號的方式,行不通?。?!

那現(xiàn)在我們可以知道了,編碼完成之后還需要解決的一個問題是如何劃分字符邊界。

其中一個方法可以這樣,不管編號多大多小,統(tǒng)一按照最長的編碼的來,位數(shù)不夠的高位補0嘛

這就是定長編碼,這樣就可以解決字符邊界的問題,但是可以發(fā)現(xiàn),這樣就太浪費內存了,而且字符集收錄的符號越多,編號跨度就越大,定長編碼造成的浪費就越顯著,還得再想辦法,定長編碼不行,那就“變長編碼”,小編號少占字節(jié),大編號多占字節(jié)。

但是怎么劃分字符邊界呢?來看一種解決方案,如果編號屬于[0,127],就占用一個字節(jié),且最高位固定標識為0。如果屬于[128,2047],就占用兩個字節(jié),且有固定標識位110和10,三個以及更多字節(jié)的編碼也遵循這樣的規(guī)則

以二進制數(shù)字0,這個字節(jié)最高位是零,就表示這個字符只占一個字節(jié),除去標識位,剩下的7位就是該字符的二進制編號,轉換成十進制就是101,對應字符e,“世”字同理。

這樣劃分字符就不成問題了。剛剛我們做的是解碼,現(xiàn)在來編碼試試,世界的“界”字在Unicode字符集中編號為,符合區(qū)間[2048,],所以要占用三字節(jié),使用下面這個模板。

然后將編號轉換成二進制0 0,再對應填到模板中

好的,這樣就編碼完成了, 我們剛剛用的其實就是UTF-8編碼,也就是Go語言默認的編碼方式。

名稱欄目:字符集與編碼
文章出自:http://chinadenli.net/article22/dsoiscc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設、品牌網(wǎng)站建設、商城網(wǎng)站、ChatGPT外貿建站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名