大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 常用的Java編碼格式

常用的Java編碼格式

更新時(shí)間:2022-07-22 09:25:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1239次

常用的Java編碼格式是什么?動(dòng)力節(jié)點(diǎn)小編來告訴大家。首先我們來了解一下unicode和utf-8有什么區(qū)別:

unicode(統(tǒng)一碼)為每種語言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求,是國際碼。是字符集,也就是一個(gè)符號對應(yīng)一個(gè)編號(相當(dāng)于一個(gè)字典),相比較于ASCLL,采用的是一個(gè)字節(jié),存放內(nèi)容有限,但是我們中文數(shù)量太多了,無法用一個(gè)字節(jié)存放,所以采用unicode編碼,兩個(gè)字節(jié)來存。

但是Unicode只是字典,還不是真實(shí)計(jì)算機(jī)內(nèi)部的存儲數(shù)據(jù)!

I 00000000 01001001 
t 00000000 01110100 
' 00000000 00100111 
s 00000000 01110011 
  00000000 00100000 
動(dòng) 01110111 11100101 
力 01001110 01001110 
節(jié) 01100101 11100101 
點(diǎn) 01100010 10100101

而utf-8不同,它是編碼規(guī)則,而不是一個(gè)單純的映射,

I 01001001 
t 01110100 
' 00100111 
s 01110011
  00100000 
動(dòng) 11100111 10011111 10100101 
力 11100100 10111001 10001110 
節(jié) 11100110 10010111 10100101 
點(diǎn) 11100110 10001010 10100101

用Unicode編碼比ASCII編碼需要多一倍的存儲空間,在存儲和傳輸上就十分不劃算。

所以,本著節(jié)約的精神,又出現(xiàn)了把Unicode編碼轉(zhuǎn)化為“可變長編碼”的UTF-8編碼。UTF-8編碼把一個(gè)Unicode字符根據(jù)不同的數(shù)字大小編碼成1-6個(gè)字節(jié),常用的英文字母被編碼成1個(gè)字節(jié),漢字通常是3個(gè)字節(jié),只有很生僻的字符才會被編碼成4-6個(gè)字節(jié)。如果你要傳輸?shù)奈谋景罅坑⑽淖址?,用UTF-8編碼就能節(jié)省空間:

由于字母的只占用七位,所以存在很大的空間浪費(fèi),utf-8就將這個(gè)進(jìn)行了縮小,而對于其她符號,可能占用1-4個(gè)字節(jié),比如這里的漢字占用3個(gè)字節(jié),第一個(gè)字節(jié)前面有多少個(gè)1,就表示占了多少個(gè)字節(jié),然后使用一個(gè)0分離,后面的兩個(gè)字節(jié)使用10進(jìn)行標(biāo)識。

總體上,還是縮小了存儲空間。

utf是給unicode編碼在網(wǎng)絡(luò)傳輸中使用的,為了讓計(jì)算機(jī)知道,這是一個(gè)字符,還是三個(gè)字符,用來區(qū)分字符的。utf-8就是一次傳輸8位。

注意unicode是固定的,所以解讀不需要復(fù)雜的分隔符,但是utf-8為了減少存儲量,把符號的字節(jié)長度搞得不統(tǒng)一了,才進(jìn)行的符號分隔符標(biāo)識的。注意這個(gè)邏輯:utf-8的出現(xiàn)是解決unicode在存放英文浪費(fèi)空間的問題,所以utf-8可以理解為unicode的一種存放方式,而他們的碼表還是對應(yīng)的。

最后我們這樣理解:unicode是在jvm中使用,內(nèi)存中使用,而utf-8是在文件中存放磁盤使用,傳輸使用。

java默認(rèn)使用的是utf-16作為內(nèi)存的字符存儲格式。

在cpu讀取內(nèi)存中的數(shù)據(jù)的時(shí)候,讀取的unicode就可以直接安裝這個(gè)碼表中的數(shù)字直接運(yùn)算,如果讀取的utf-8,則必須切換成碼表中的數(shù)據(jù)才能運(yùn)算,而持久化到磁盤的時(shí)候,如果步進(jìn)行編碼分割,那么就無法區(qū)分字符的范圍,導(dǎo)致無法短句解讀。

注意:在java中,內(nèi)存里面使用String,里面是char組,一個(gè)char占兩個(gè)字節(jié),所以它的真實(shí)長度就是2倍,而我們平時(shí)說的字節(jié)長度,是要基于編碼方式,不同的編碼方式長度不同。

“asd嗷嗷”判斷一個(gè)字符串的字節(jié)長度,不能脫離編碼方式來判斷,就如同數(shù)字42的字節(jié),就根據(jù)存儲的類型來判斷,如short,long int,double,不同的方式大小不一樣,字符串也是gb2312,utf-8,utf-16,不同的方式,大小也是不相同的,java默認(rèn)是使用utf-16的。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 99热这里精品 | 国产精品九九久久一区hh | 五月综合激情网 | 久久视频免费观看 | 伊人色综合琪琪久久社区 | 日本成人不卡 | 91视频原创| 麻豆91精品91久久久 | 婷婷六月色 | 青青青国产深夜福利视频 | 亚洲精品欧美精品日韩精品 | 亚洲精品色综合色在线观看 | 日本精品视频在线观看 | 精品久久看 | 国产高清视频 | 久久亚洲国产午夜精品理论片 | 久久免费网 | a级毛片免费完整视频 | 日本一级作爱片在线观看 | 狠狠2019| 神马影院午夜我不卡 | 亚洲午夜视频 | 91不卡| 久久久免费观看 | 国产精品久久久久久久午夜片 | 日本视频不卡 | 国产二区精品视频 | 欧美日韩一二三区 | 国产情侣普通话刺激对白 | 欧美性猛交ⅹxxx乱大交免费 | 久久精品综合一区二区三区 | 亚洲一区不卡视频 | 午夜欧美精品久久久久久久久 | 天天做天天爱天天影视综合 | 青青久草在线视频 | 99热这里只有精品国产动漫 | 久久久综合色 | 国内精品视频九九九九 | 亚洲欧洲精品在线 | 欧美视频一区二区三区在线观看 | 福利国产|