這篇文章給大家分享的是有關har[] 和 String 類型占用字節(jié)大小的示例的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
在 C 語言中
1、char a[10] = {"China"} 中,這個 a 占用多少字節(jié)?
答:占用 10 個字節(jié)。
解析:上面代碼對 a 做了賦值的操作,
a[0]='C' ,a[1]='h' ,a[2]='i' ,a[3]='n' ,a[4]='a' ,a[5]='\0',a[6]='\0',a[7]='\0',a[8]='\0',a[9]='\0'
所以,它占用的是 10 個字節(jié)。
2、如果單指 ”China“ ?
答:共 6 個字節(jié)。China 占 5 個字節(jié),最后以 '\0' 結束,占 1 個字節(jié)。
在 Java 語言中
1、String s = "China"; 占多少字節(jié)?
答:占 5 個字節(jié)。
System.out.println(Charset.defaultCharset());//獲取ide默認編碼類型 String s = new String("China".getBytes()); byte[] b = s.getBytes(); System.out.println("" + b.length);
以上代碼,可以輸出 "China" 所占的字節(jié)長度為 5
2、String s = "中國"; 占多少字節(jié)?
答:如果是 漢字 的情況需要考慮編碼。
(1)GBK 編碼(ide默認)時,每一個漢字占用 2 個字節(jié),那么中國占 4 個字節(jié)。
(2)UTF-8 編碼時,每一個漢字占用 3 個字節(jié),那么中國占用 6 個字節(jié)。
3、轉碼問題,GBK 轉 UTF-8 時,字節(jié)占用會變大嗎?反過來呢?
//獲取的是 UTF-8編碼 System.out.println(Charset.defaultCharset()); String s; try { s = new String("中國".getBytes(),"GBK"); byte[] b = s.getBytes(); System.out.println("" + b.length); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }
如上代碼是:UTF-8 轉 GBK 編碼格式,s 長度從 6 字節(jié)變?yōu)?9 字節(jié)。
s 內容變化:中國 —> 涓浗
因為當前編碼是 UTF-8,轉碼之后變成了 3 個文字,占用 9 個字節(jié)。然而,反過來的情況是這樣的:
中國 (gbk) —> ?й? (utf-8)
s 長度從 4字節(jié) 變成了 4字節(jié),雖然長度沒發(fā)生改變,但是文字已經(jīng)改變。這里的 ? 占用 1 個字節(jié)
感謝各位的閱讀!關于har[] 和 String 類型占用字節(jié)大小的示例就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
文章題目:har[]和String類型占用字節(jié)大小的示例-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://www.chinadenli.net/article22/dpepjc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、品牌網(wǎng)站建設、企業(yè)建站、虛擬主機、微信公眾號、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容