日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

字符、字節(jié)的概念及其區(qū)別

 流浪的星星318 2017-04-28

       首先我們先看一下這個問題:“Java語言中字符串“學(xué)Java”所占的內(nèi)存空間是幾個字節(jié)?”,要回答這個問題我們就必須先要清楚什么是“字節(jié)”什么是“字符”。

       字節(jié)(Byte):字節(jié)是通過網(wǎng)絡(luò)傳輸信息(或在硬盤或內(nèi)存中存儲信息)的單位。字節(jié)是計算機信息技術(shù)用于計量存儲容量和傳輸容量的一種計量單位,1個字節(jié)等于8位二進制,它是一個8位的二進制數(shù),是一個很具體的存儲空間。

       字符:人們使用的記號,抽象意義上的一個符號。 '1', '', 'a', '$' '', ……

       談到字符就不得不提ANSIUNICODE兩種不同的編碼方式標(biāo)準(zhǔn)(對這兩種編碼方式標(biāo)準(zhǔn)在此我只簡單提一下,如果大家有興趣可以自己去查一下),ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。(對于字符來說ANSI以單字節(jié)存放英文字符,以雙字節(jié)存放中文等字符,Unicode下,英文和中文的字符都以雙字節(jié)存放)Unicode碼也是一種國際標(biāo)準(zhǔn)編碼,采用二個字節(jié)編碼,與ANSI碼不兼容。     ANSI規(guī)定:一個小于127的字符的意義與原來相同,但兩個大于127的字符連在一起時,就表示一個漢字,前面的一個字節(jié)(他稱之為高字節(jié))從0xA1用到 0xF7,后面一個字節(jié)(低字節(jié))從0xA10xFE,這樣我們就可以組合出大約7000多個簡體漢字了。在這些編碼里,我們還把數(shù)學(xué)符號、羅馬希臘的字母、日文的假名們都編進去了,連在 ASCII 里本來就有的數(shù)字、標(biāo)點、字母都統(tǒng)統(tǒng)重新編了兩個字節(jié)長的編碼,這就是常說的"全角"字符,而原來在127號以下的那些就叫"半角"字符了。從 UNICODE 開始,無論是半角的英文字母,還是全角的漢字,它們都是統(tǒng)一的"一個字符"!同時,也都是統(tǒng)一的"兩個字節(jié)"

       我們可以簡單的記這樣一個結(jié)論:按照ANSI編碼標(biāo)準(zhǔn),標(biāo)點符號、數(shù)字、大小寫字母都占一個字節(jié),漢字占2個字節(jié)。按照UNICODE標(biāo)準(zhǔn)所有字符都占2個字節(jié)。

       我們再來看一下字符串,由于字符有2種編碼標(biāo)準(zhǔn),所以字符串也分為2種。

       字符串(ANSI):在內(nèi)存中,如果字符是以 ANSI 編碼形式存在的,一個字符可能使用一個字節(jié)或多個字節(jié)來表示,那么我們稱這種字符串為 ANSI 字符串或者多字節(jié)字符串。

       字符串(UNICODE):在內(nèi)存中,如果字符是以在 UNICODE 中的序號存在的,那么我們稱這種字符串為 UNICODE 字符串或者寬字節(jié)字符串。

       由于不同 ANSI 編碼所規(guī)定的標(biāo)準(zhǔn)是不相同的,因此,對于一個給定的多字節(jié)字符串,我們必須知道它采用的是哪一種編碼規(guī)則,才能夠知道它包含了哪些字符。而對于 UNICODE 字符串來說,不管在什么環(huán)境下,它所代表的字符內(nèi)容總是不變的。

       至此我們在上面提出的問題就迎刃而解了,因為在Java當(dāng)中字符是采用Unicode編碼標(biāo)準(zhǔn)的,所以“學(xué)Java”這個字符串在Java語言中占10個字節(jié)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多