計(jì)算機(jī)基礎(chǔ) | 比特、字節(jié)、KB的關(guān)系偏陪,字節(jié)和字符的關(guān)系

比特抢呆、字節(jié)、KB的關(guān)系

比特(bit)

  • 存放一位二進(jìn)制數(shù)笛谦,即 0 或 1抱虐,最小的存儲(chǔ)單位

字節(jié) (byte)

  • 1byte = 8bit
  • 8個(gè)二進(jìn)制位(bit)為一個(gè)字節(jié)(b),最常用的單位饥脑。 (常說(shuō)的一個(gè)字節(jié)占8位)
  • 一個(gè)英文字母(不分大小寫(xiě))占1個(gè)字節(jié)的空間恳邀,一個(gè)中文漢字占3-4個(gè)字節(jié)的空間
  • 英文標(biāo)點(diǎn)占1個(gè)字節(jié),中文標(biāo)點(diǎn)占2個(gè)字節(jié)

byte KB MB GB 換算關(guān)系

  • 1 KB = 2 ^ 10 byte = 1024 byte ≈ 10 ^ 3 byte
  • 1 MB = 2 ^ 20 byte ≈ 10 ^ 6 byte
  • 1 GB = 2 ^ 30 byte ≈ 10 ^ 9 byte
  • 1 TB = 1024G
  • 1 億 = 10 ^ 8

小技巧

數(shù)據(jù)量估算:1 個(gè)整數(shù)占 4 byte灶轰,1 億個(gè)整數(shù)占 4 * 10 ^ 8 byte ≈ 400 MB
幫助記憶:1K ≈ 一千個(gè)字節(jié) 1M ≈ 一百萬(wàn)個(gè)字節(jié) 1G ≈ 十億個(gè)字節(jié)

字節(jié)和字符的關(guān)系

字符

  • a谣沸、A、中笋颤、+乳附、*、の......均表示一個(gè)字符椰弊;
  • 一般 utf-8 編碼下许溅,一個(gè)漢字 字符 占用 3 個(gè) 字節(jié);
  • 一般 gbk 編碼下秉版,一個(gè)漢字 字符 占用 2 個(gè) 字節(jié)贤重;

字符集

  • ASCII碼中,一個(gè)英文字母(不分大小寫(xiě))占一個(gè)字節(jié)的空間清焕,一個(gè)中文漢字占兩個(gè)字節(jié)的空間
  • GB 2312 編碼或 GBK 編碼中并蝗,一個(gè)英文字母字符存儲(chǔ)需要1個(gè)字節(jié),一個(gè)漢字字符存儲(chǔ)需要2個(gè)字節(jié)
  • UTF-8編碼中秸妥,一個(gè)英文字符等于一個(gè)字節(jié)滚停,一個(gè)中文(含繁體)等于三個(gè)字節(jié)
  • Unicode編碼中,一個(gè)英文等于兩個(gè)字節(jié)粥惧,一個(gè)中文(含繁體)等于兩個(gè)字節(jié)
  • UTF-16編碼中键畴,一個(gè)英文字母字符或一個(gè)漢字字符存儲(chǔ)都需要2個(gè)字節(jié)(Unicode擴(kuò)展區(qū)的一些漢字存儲(chǔ)需要4個(gè)字節(jié))
  • UTF-32編碼中,世界上任何字符的存儲(chǔ)都需要4個(gè)字節(jié)

UTF-8編碼下突雪,按一個(gè)中文字符3個(gè)字節(jié)算起惕,1KB 大小的存儲(chǔ)空間 = 1024英文字符 = 341中文字符

Java 中的字節(jié)長(zhǎng)度計(jì)算

Java中的一個(gè)char是2個(gè)字節(jié)。Java采用unicode咏删,2個(gè)字節(jié)來(lái)表示一個(gè)字符惹想,這點(diǎn)與C語(yǔ)言中不同,C語(yǔ)言中采用ASCII督函,在大多數(shù)系統(tǒng)中嘀粱,一個(gè)char通常占1個(gè)字節(jié)激挪,但是在0~127整數(shù)之間的字符映射,unicode向下兼容ASCII锋叨。而Java采用unicode來(lái)表示字符垄分,一個(gè)中文或英文字符的unicode編碼都占2個(gè)字節(jié),但如果采用其他編碼方式娃磺,一個(gè)字符占用的字節(jié)數(shù)則各不相同锋喜。

public class CharTest { 
    public static void main(String[] args){
        String str = "你好Java";
        int byte_len = str.getBytes().length;
        int len = str.length();
        System.out.println("字節(jié)長(zhǎng)度為:" + byte_len);
        System.out.println("字符長(zhǎng)度為:" + len);
        System.out.println("系統(tǒng)默認(rèn)編碼方式:" + System.getProperty("file.encoding"));
    }
}

輸出結(jié)果

字節(jié)長(zhǎng)度為:11
字符長(zhǎng)度為:7
系統(tǒng)默認(rèn)編碼方式:UTF-8

我的系統(tǒng)的默認(rèn)編碼方式為UTF-8,因此對(duì)于字符串 “你好Java”豌鸡,如果調(diào)用length()方法返回其長(zhǎng)度,得到的結(jié)果將為:7段标。該方法返回的是字符串的字符數(shù)涯冠,無(wú)論是中文字符還是英文字符,都被看做是一個(gè)字符逼庞。

如果將其轉(zhuǎn)換為byte數(shù)組蛇更,而后返回byte數(shù)組的長(zhǎng)度,得到的結(jié)果將為:11赛糟。因?yàn)樵赨TF-8編碼中派任,中文占3個(gè)字節(jié),而英文字符占1個(gè)字節(jié)璧南。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掌逛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子司倚,更是在濱河造成了極大的恐慌豆混,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件动知,死亡現(xiàn)場(chǎng)離奇詭異皿伺,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)盒粮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)鸵鸥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人丹皱,你說(shuō)我怎么就攤上這事妒穴。” “怎么了种呐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵宰翅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我爽室,道長(zhǎng)汁讼,這世上最難降的妖魔是什么淆攻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮嘿架,結(jié)果婚禮上瓶珊,老公的妹妹穿的比我還像新娘。我一直安慰自己耸彪,他們只是感情好伞芹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蝉娜,像睡著了一般唱较。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上召川,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天南缓,我揣著相機(jī)與錄音,去河邊找鬼荧呐。 笑死汉形,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的倍阐。 我是一名探鬼主播概疆,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼峰搪!你這毒婦竟也來(lái)了岔冀?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤罢艾,失蹤者是張志新(化名)和其女友劉穎楣颠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體咐蚯,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡童漩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了春锋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矫膨。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖期奔,靈堂內(nèi)的尸體忽然破棺而出侧馅,到底是詐尸還是另有隱情,我是刑警寧澤呐萌,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布馁痴,位于F島的核電站,受9級(jí)特大地震影響肺孤,放射性物質(zhì)發(fā)生泄漏罗晕。R本人自食惡果不足惜济欢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望小渊。 院中可真熱鬧法褥,春花似錦、人聲如沸酬屉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)呐萨。三九已至杀饵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谬擦,已是汗流浹背凹髓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怯屉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓饵沧,卻偏偏與公主長(zhǎng)得像锨络,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子狼牺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 字符集和編碼簡(jiǎn)介 在編程中常诚鄱可以見(jiàn)到各種字符集和編碼,包括ASCII,MBCS,Unicode等字符集是钥。確切的說(shuō)...
    蘭山小亭閱讀 8,494評(píng)論 0 13
  • 計(jì)算機(jī)是如何表示字符的掠归? 計(jì)算中的數(shù)據(jù)都是二進(jìn)制(0和1),用一位來(lái)存儲(chǔ)1個(gè)0或1悄泥,稱為bit虏冻。8個(gè)二進(jìn)制序列(8...
    公子拙閱讀 4,125評(píng)論 4 17
  • 編碼問(wèn)題一直困擾著開(kāi)發(fā)人員,尤其在 Java 中更加明顯弹囚,因?yàn)?Java 是跨平臺(tái)語(yǔ)言厨相,不同平臺(tái)之間編碼之間的切換...
    x360閱讀 2,480評(píng)論 1 20
  • MVVM是Model-View-ViewModel的簡(jiǎn)寫(xiě)蛮穿,M是模型V是視口VM是指鏈接中間的橋梁
    轉(zhuǎn)身后仰C閱讀 758評(píng)論 0 0
  • 我喜歡的男孩子啊 有自己的理想和追求 可以為了自己的理想來(lái)回坐火車(chē) 誤點(diǎn)了也不慌不忙的去改簽 他參加了自己喜歡的社...
    kikomi閱讀 311評(píng)論 0 0