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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python中utf8占几个字节_为什么utf8占用3个字节

發(fā)布時(shí)間:2025/3/21 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中utf8占几个字节_为什么utf8占用3个字节 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

UNICODE是萬(wàn)能編碼,包含了所有符號(hào)的編碼,它規(guī)定了所有符號(hào)在計(jì)算機(jī)底層的二進(jìn)制的表示順序。有關(guān)Unicode為什么會(huì)出現(xiàn)就不敘述了,Unicode是針對(duì)所有計(jì)算機(jī)的使用者定義一套統(tǒng)一的編碼規(guī)范,這樣計(jì)算機(jī)使用者就避免了編碼轉(zhuǎn)換的問(wèn)題。Unicode定義了所有符號(hào)的二進(jìn)制形式,也就是符號(hào)如何在計(jì)算機(jī)內(nèi)部存儲(chǔ)的,而且每個(gè)符號(hào)規(guī)定都必須使用兩個(gè)字節(jié)來(lái)表示,也就是用16位二進(jìn)制去代表一個(gè)符號(hào),這樣就導(dǎo)致了一個(gè)問(wèn)題,英文編碼的空間浪費(fèi),因?yàn)樵贏NSI中的符號(hào)都是一個(gè)字節(jié)來(lái)表示的,而使用了UNICODE編碼就白白浪費(fèi)了一個(gè)字節(jié)。也就代表著Unicode需要使用兩倍的空間去存儲(chǔ)相應(yīng)的ANSI編碼下的符號(hào)。雖然現(xiàn)在硬盤(pán)或者內(nèi)存都很廉價(jià),但是在網(wǎng)絡(luò)傳輸中,這個(gè)問(wèn)題就凸顯出來(lái)了,你可以這樣想想,本來(lái)1M的帶寬在ANSI下可以代表1024*1024個(gè)字符,但是在Unicode下卻只能代表1024*1024/2個(gè)字符。也就是1MB/s的帶寬只能等價(jià)于512KB/s,這個(gè)很可怕啊。所以為了解決符號(hào)在網(wǎng)絡(luò)中傳輸?shù)睦速M(fèi)問(wèn)題,就出現(xiàn)了UTF-8編碼,Unicode transfer format -8 ,后面的8代表是以8位二進(jìn)制為單位來(lái)傳輸符號(hào)的,但是這樣又導(dǎo)致了一個(gè)問(wèn)題,雖然UTF-8可以使用一個(gè)字節(jié)來(lái)表示ANSI下的符號(hào),但是對(duì)于其它類(lèi)似漢語(yǔ)的符號(hào),得需要兩個(gè)字節(jié)來(lái)表示,所以計(jì)算機(jī)不知道如何去截取一個(gè)符號(hào),也就是一個(gè)符號(hào)對(duì)應(yīng)的二進(jìn)制的截取開(kāi)始位置和截取結(jié)束位置。所以為了解決Unicode下的ANSI符號(hào)的空間浪費(fèi)和網(wǎng)絡(luò)傳輸下如何截取字符的問(wèn)題,UTF規(guī)定:如果一個(gè)符號(hào)只占一個(gè)字節(jié),那么這個(gè)8位字節(jié)的第一位就為0。如果為兩個(gè)字節(jié),那么規(guī)定第一個(gè)字節(jié)的前兩位都為1,然后第一個(gè)字節(jié)的第三位為0,第二個(gè)字節(jié)的前兩位為10,然后如果是三個(gè)字節(jié)的話(huà),那么第一個(gè)字節(jié)的前三位為111,第四位為0,剩余的兩個(gè)字節(jié)的前兩位都為10。按照這樣的算法去思考一個(gè)中文字符的UTF-8是怎么表示的:一個(gè)中文字符需要兩個(gè)字節(jié)來(lái)表示,兩個(gè)字節(jié)一共是16位,那么UTF-8下,兩個(gè)字節(jié)是不夠的,因?yàn)閮蓚€(gè)字節(jié)下,第一個(gè)字節(jié)已經(jīng)占據(jù)了三位:110,然后剩余的一個(gè)字節(jié)占據(jù)了兩位:10,現(xiàn)在就只剩下8位,與Unicode下的兩個(gè)字節(jié),18位去表示任意一個(gè)字符是相悖的,也就是Unicode下的18位減去UTF-8下的8位=8位,剛好差了一個(gè)字節(jié)的空間,所以就使用三個(gè)字節(jié)去表示非ANSI字符:三個(gè)字節(jié)下,一共是24位,第一個(gè)字節(jié)頭四位是:1110,后兩個(gè)字節(jié)的前兩位都是:10,那么24位-8位=16位,剛好兩個(gè)字節(jié)去表示Unicode下的任意一個(gè)非ANSI字符。這也就是為什么UTF-8需要使用三個(gè)字節(jié)去表示一個(gè)非ANSI字符的原因了!

多個(gè)字節(jié)提供的位數(shù)超過(guò)了所需要的,多余的位以0補(bǔ)全到編碼前面

總結(jié)

以上是生活随笔為你收集整理的python中utf8占几个字节_为什么utf8占用3个字节的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 国产一区二区三区小说 | 秘密基地在线观看完整版免费 | 日本免费黄色小视频 | 亚洲激情av在线 | 快射视频网 | 给我看免费高清在线观看 | 九九九九九精品 | 日日爱99 | 不卡的av在线| 中文在线字幕免费观 | 在线看一级片 | 久久久视频在线观看 | 中文字幕av免费观看 | 天天躁日日躁狠狠躁免费麻豆 | 黄视频网站在线观看 | 国产农村妇女精品一二区 | 久久97精品| sese欧美| 在线视频精品 | 成人精品区 | a级片在线看 | 欧美三级午夜理伦三级老人 | 波多野结衣啪啪 | 国产成人无码精品久在线观看 | 国精品无码一区二区三区 | 激情视频网站 | 久久对白 | 青青草视频播放 | 欧美色涩在线第一页 | 丁香花高清视频完整电影 | 亚洲在线日韩 | 好吊色一区二区三区 | 国产黄色一区二区三区 | xxx国产精品 | 性调教学院高h学校 | 亚洲天堂av免费在线观看 | 国产吞精囗交免费视频 | 一区二区伦理片 | 给我看高清的视频在线观看 | 成人一级大片 | av免播放器 | a级片一区二区 | 91香蕉国产在线观看软件 | a级黄色网 | 乡村乱淫 | 国产美女www爽爽爽视频 | 三级视频在线看 | 男女激情网 | 亚洲激情av | 国产不卡在线播放 | 天天爽夜夜爽一区二区三区 | 国产成人精品免费视频 | 中文字幕第一页亚洲 | 在线观看污视频网站 | 天堂草在线观看 | 亚洲黄片一区 | 国内精品久久久久久久久 | 影音先锋国产资源 | 嫩草影院懂你的影院 | 国产成人在线免费观看视频 | 成人亚洲玉足脚交系列 | 免费毛毛片 | 日韩亚射吧 | 亚洲av久久久噜噜噜噜 | 天天爽天天爽夜夜爽毛片 | 黄色在线免费视频 | 精品国产一二三 | 国产一区在线观看视频 | 国产欧美熟妇另类久久久 | www久久久com | 欧美资源网 | 日韩高清影院 | wwxx日本| 日本免费在线观看视频 | 精品一区二区久久久久蜜桃 | av老司机在线播放 | 国产69精品久久久 | 成人黄色激情小说 | 优优色影院 | 意大利少妇愉情理伦片 | 欧美又粗又长又爽做受 | 六月激情婷婷 | 久久久久久久久久久久久国产 | 国产在线久久久 | 久草视频中文在线 | 百合sm惩罚室羞辱调教 | 国产成人精品777777 | 成人自拍视频在线观看 | 日韩123 | 2025中文字幕 | 欧美性猛交久久久久 | 岛国激情| 久久久水蜜桃 | 人人澡人人射 | 末发成年娇小性xxxxx | 日批视频在线看 | 精品国产免费一区二区三区 | 青春草在线视频免费观看 | 国产视频1 |