久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

char類型要占幾個字節(jié)

char類型在C或C++中占1個字節(jié),在java中占2個字節(jié)。char用于C或C++中是定義字符型變量的,而char數(shù)據(jù)類型是一種整數(shù)類型,只會占據(jù)1個字節(jié)。而在java中char類型占2個字節(jié)是因為Java編譯器默認(rèn)使用Unicode編碼,因此2字節(jié)(16位)可以表示所有字符。

char類型要占幾個字節(jié)

本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。

我百度搜索“char占幾個字節(jié)”,得到下面的答案:

char類型要占幾個字節(jié)

char用于C或C++中定義字符型變量,是一種整數(shù)類型,只占一個字節(jié),取值范圍為 -128 ~ +127(-27~27-1)。

char類型占1字節(jié),就是8位,所能存儲的正整數(shù)是 0111 1111,即127。

顯然這不是我們想要的結(jié)果,于是我繼續(xù)搜索“java中的char占幾個字節(jié)”

char類型要占幾個字節(jié)

Java中的char用于存放字符的數(shù)據(jù)類型,占用2個字節(jié),采用unicode編碼,它的前128字節(jié)編碼與ASCII兼容,只不過有些字符需要兩個char來表示。

為什么C或C++和java中的char占用字節(jié)數(shù)不相同?

有些字符需要兩個char來表示又是什么意思?

編碼

在討論這個問題之前,我們先對部分知識點做一下普及。

首先我們都知道計算機中儲存的信息都是用二進制數(shù)表示的,那怎么樣讓計算機存儲我們?nèi)祟愑玫臐h字或英文呢?

比如如何將'a'轉(zhuǎn)換為二進制存儲到計算機中,稱為編碼

而將存儲在計算機中的二進制數(shù)解析顯示出來,稱為解碼

字符集

字符(Character)是各種文字和符號的總稱,包括各國家文字、標(biāo)點符號、圖形符號、數(shù)字等。字符集(Character set)是多個字符的集合,字符集種類較多,每個字符集包含的字符個數(shù)不同,常見字符集名稱:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。這是百度百科給的解釋,反正就是字符集是一些字符的集合,字符集種類多,字符集中的字符數(shù)量也各不相同。計算機要準(zhǔn)確的處理各種字符集文字,需要進行字符編碼,以便計算機能夠識別和存儲各種文字。

unicode

它的名字叫統(tǒng)一碼, 也叫萬國碼,符號數(shù)量在不斷增加,已超百萬 。

在創(chuàng)造Unicode之前,有數(shù)百種編碼系統(tǒng)。沒有一個編碼可以包含足夠的字符,從它的名字就可以看出這是一種所有符號的編碼,每一個符號都給予一個獨一無二的編碼,那么各個不同編碼導(dǎo)致的亂碼問題就會消失。

大多數(shù)計算機采用ASCII碼(美國標(biāo)準(zhǔn)信息交換碼),它是表示所有大小寫字母、數(shù)字、標(biāo)點符號和控制字符的7位編碼方案。統(tǒng)一碼(Unicode)包含ASCII碼,'u0000'到'u007F'對應(yīng)全部128個ACSII字符。

不禁讓我感慨,有實力的人才能制定標(biāo)準(zhǔn)。 Unicode 只是一個符號集,它只規(guī)定了符號的二進制代碼,僅僅提供字符與編號間映射,卻沒有規(guī)定這個二進制代碼應(yīng)該如何存儲。 我們知道英文字母的編號特別小,用一個字節(jié)就完全能夠表示,而unicode中的中文符號的編號就很大了,一個字節(jié)根本不行。 于是后面出現(xiàn)了unicode字符存儲的多種實現(xiàn)方式,比如UTF-8,UTF-16等。 UTF-8 是在互聯(lián)網(wǎng)上使用最廣的一種 Unicode 的實現(xiàn)方式。

內(nèi)碼和外碼

我們常說的java中的char占幾個字節(jié),應(yīng)該是java中內(nèi)碼中的char。

內(nèi)碼是指java運行時,其char和string在內(nèi)存中的編碼方式;外碼是程序與外部交互時外部使用的字符編碼,比如序列化技術(shù)。 外碼可以理解為:只要不是內(nèi)碼,那就是外碼。 要注意的是,源代碼編譯產(chǎn)生的目標(biāo)代碼文件(可執(zhí)行文件或class文件)中的編碼方式屬于外碼。 JVM中內(nèi)碼采用UTF16。 UTF-16 的 16 指的就是最小為 16 位一個單元,也即兩字節(jié)為一個單元。早期,UTF16采用固定長度2字節(jié)的方式編碼,兩個字節(jié)可以表示65536種符號(其實真正能表示要比這個少),足以表示當(dāng)時unicode中所有字符。但是隨著unicode中字符的增加,2個字節(jié)無法表示所有的字符,UTF16采用了2字節(jié)或4字節(jié)的方式來完成編碼。Java為應(yīng)對這種情況,考慮到向前兼容的要求,Java用一對char來表示那些需要4字節(jié)的字符。所以,java中的char是占用兩個字節(jié),只不過有些字符需要兩個char來表示。 這里就解釋了為什么有些字符需要兩個char來表示的問題。

另外:Java的class文件采用UTF8來存儲字符,也就是說,class中字符占1~6個字節(jié)。 Java序列化時,字符也采用UTF8編碼,占1~6個字符。

length()

那再來一個問題:Java中的一個字符的String.length()是多少?

看過前面的知識點不能再張嘴就來回答是1吧…… 寫個demo看一下:虎年就用虎來測試吧,tigerUTF對對應(yīng)unicode編碼表示。

         String tiger = "?";          String tigerUTF = "uD83DuDC05";          System.out.println(tigerUTF);          System.out.println(tiger.length());           System.out.println(tiger.codePointCount(0,tiger.length()));
登錄后復(fù)制

char類型要占幾個字節(jié)char類型要占幾個字節(jié)

可以得出調(diào)用String.length()得到的結(jié)果為2,表示的是stirng的char數(shù)組占UTF-16格式的2個代碼單元(即4個字節(jié)),而不是有多少個字符。 當(dāng)然我們想要獲取多少個字符,可以使用codePointCount方法來獲取。

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
97精品国产一区二区三区| 日本三级亚洲精品| 国产精品xxx| 91精品国产经典在线观看| 少妇精品久久久一区二区三区| 午夜在线视频观看日韩17c| 在线午夜精品| 蜜臀av一区二区在线免费观看| 视频一区二区中文字幕| 蜜桃91丨九色丨蝌蚪91桃色| 妖精视频成人观看www| 黄色日韩在线| 美女网站久久| 亚洲日产av中文字幕| 亚洲日产国产精品| 久久精品97| 六月丁香综合在线视频| 久久精品国产99国产精品| 国产一区二区精品久| 国产黄大片在线观看| 亚洲成人精品| 天使萌一区二区三区免费观看| 亚洲精一区二区三区| 国产一级成人av| 精品国产一级| 成人影视亚洲图片在线| 亚洲视频综合| 最新国产精品久久久| 国产极品模特精品一二| 亚洲欧洲美洲av| 好吊视频一区二区三区四区| 亚洲欧洲专区| 国产精品777777在线播放| 成人精品视频| 国产视频一区在线观看一区免费| 色狠狠一区二区三区| 蜜桃久久久久| 国内精品福利| 欧美日韩1区| 成人免费电影网址| 激情综合在线| 亚洲综合福利| 精品国产aⅴ| 欧美性感美女一区二区| 日韩在线电影| 欧美韩日一区| 丝袜美腿一区二区三区| 国产精品17p| 国产高清一区二区| 欧美视频二区| 亚洲成人精品| 91亚洲精品在看在线观看高清| 久久亚洲精精品中文字幕| 在线一区视频观看| 日韩精品乱码av一区二区| 日本久久黄色| 蜜桃视频一区二区| 精品视频一区二区三区在线观看| 欧美精品羞羞答答| 国产精品亚洲欧美一级在线| 亚洲手机在线| 欧美激情91| 男人天堂欧美日韩| 国产96在线亚洲| 色综合视频一区二区三区日韩| 91亚洲一区| 天堂精品久久久久| 久久久久国产精品一区三寸| 日韩欧美美女在线观看| 色爱av综合网| 日韩精品1区2区3区| 国产亚洲一区二区手机在线观看| 日韩av中文字幕一区二区三区| 久久在线视频免费观看| 欧美激情综合| 亚洲精品麻豆| 亚洲激情五月| а√天堂8资源在线| 日韩国产一区二| 婷婷综合亚洲| 美女福利一区二区三区| 久久国产婷婷国产香蕉| 国产美女一区| 久久在线视频免费观看| 精品女同一区二区三区在线观看| 久久亚洲风情| 久久国产影院| 高清久久精品| 国产精品v日韩精品v欧美精品网站| 免费日韩av片| 激情欧美一区二区三区| 黄色在线网站噜噜噜| 国产精品视频首页| 日韩不卡一区二区| 亚洲自拍另类| 欧美一级精品| 日韩精品电影| 麻豆精品久久| 欧美久久精品| 亚洲人成网77777色在线播放| 中文字幕在线视频网站| 国产欧美另类| 91成人精品在线| 亚洲欧美日本国产| 国产亚洲毛片在线| 亚洲精品2区| 欧美一级精品| 久久久久中文| 欧美日韩国产v| 欧美不卡高清一区二区三区| 精品午夜av| 美女国产一区二区三区| 日韩av字幕| 日本成人一区二区| 中文字幕日韩亚洲| 黄色日韩在线| 欧美+亚洲+精品+三区| 色婷婷精品视频| 国产资源在线观看入口av| 国产一区二区久久久久| 韩国女主播一区二区三区| 美女在线视频一区| 国产极品一区| 美女免费视频一区| 精品视频91| 国产网站在线| 欧美少妇精品| 亚洲成a人片| 成人精品天堂一区二区三区| 播放一区二区| 亚洲女同中文字幕| 九一精品国产| 丝袜诱惑制服诱惑色一区在线观看| 亚洲在线一区| 一区二区三区国产盗摄| 亚洲欧美网站在线观看| 亚洲精品九九| 日本aⅴ免费视频一区二区三区| 亚洲精品在线二区| 欧美一区二区三区免费看| 日韩av黄色在线| 日韩av电影一区| 久久av导航| 在线人成日本视频| 国产在线成人| 中文字幕一区二区三区四区久久| 日韩一区精品字幕| 三级久久三级久久久| 国产亚洲第一伦理第一区| 久久久91麻豆精品国产一区| 日韩av自拍| 激情六月综合| 一区二区电影| 国产精品一区二区美女视频免费看| 国产精品九九| 成人一区不卡| 午夜日韩av| 日韩黄色av| 国产一区不卡| 欧美精品自拍| 日韩欧美中文字幕电影| 亚欧成人精品| 欧美激情 亚洲a∨综合| 播放一区二区| 一区二区高清| 久久精品免视看国产成人| 欧美日韩视频网站| 亚洲欧美久久久| 国产欧美啪啪| 天堂日韩电影| 婷婷精品在线| 激情黄产视频在线免费观看| 国产亚洲福利| 国产精品资源| 亚洲福利久久| 亚洲精品在线a| 免费亚洲婷婷| 国产一区成人| 国产精品1区| 黄色成人精品网站| 国产欧美激情| 婷婷亚洲综合| 欧美aaaaaa午夜精品| 99国产精品视频免费观看一公开| 国产日产精品_国产精品毛片| 亚洲性色av| 日韩免费精品| 欧美在线观看视频一区| 国产亚洲电影| 欧美在线影院| 久久只有精品| 不卡一区综合视频| 久久av超碰| 亚洲一区二区三区高清| 久久尤物视频| 免费不卡在线视频| 四虎8848精品成人免费网站| 蜜臀国产一区二区三区在线播放| 国产999精品在线观看| 亚洲精品123区|