无遮挡18禁啪啪免费观看 I 秋霞成人av I brandilove欧美三区 I 激情偷乱人伦小说视频 I 人人插人人艹 I www.亚洲com I 波多野结衣av高清一区二区三区 I 精品无码国产污污污免费网站 I 美女张开腿给男人桶爽久久 I 国产精品久久久久久久免费 I 国内精品久久99 I 亚洲精品无码专区 I 亚洲免费视频一区二区 I 午夜xxx I 国产一区啪啪 I 丝袜激情网 I 日韩精品久久久久久久 I 欧美香蕉视频 I 成人片免费看 I 天天色综合2 I 寡妇被老头舔到高潮的视频 I 亚洲第一页在线 I 国产放荡av国产精品 I 在线精品视频一区二区 I 免费黄色片在线观看 I 秋霞伊人网 I www.伊人 I 久草在线91 I 女人啪啪免费av大片 I 欧美一区二区综合 I 精品久久久久久天美传媒 I 黄色工厂在线观看 I 91精品国产色综合 I 动漫美女被到爽 I 丁香午夜激情

char[] 和 String 類型占用字節大小問題

2019-8-8    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

在 C 語言中
1、char a[10] = {"China"} 中,這個 a 占用多少字節?

答:占用 10 個字節。

解析:上面代碼對 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 個字節。

2、如果單指 ”China“ ?

答:共 6 個字節。China 占 5 個字節,最后以 '\0' 結束,占 1 個字節。

在 Java 語言中
1、String s = "China"; 占多少字節?

答:占 5 個字節。

System.out.println(Charset.defaultCharset());//獲取ide默認編碼類型
String s = new String("China".getBytes());
byte[] b = s.getBytes();
System.out.println("" + b.length);
 以上代碼,可以輸出 "China" 所占的字節長度為 5

2、String s = "中國"; 占多少字節?

答:如果是 漢字 的情況需要考慮編碼。

(1)GBK 編碼(ide默認)時,每一個漢字占用 2 個字節,那么中國占 4 個字節。

(2)UTF-8 編碼時,每一個漢字占用 3 個字節,那么中國占用 6 個字節。

3、轉碼問題,GBK 轉 UTF-8 時,字節占用會變大嗎?反過來呢?

//獲取的是 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 字節變為 9 字節。
s 內容變化:中國 —> 涓浗
因為當前編碼是 UTF-8,轉碼之后變成了 3 個文字,占用 9 個字節。然而,反過來的情況是這樣的:

中國 (gbk) —> ?й? (utf-8)
s 長度從 4字節 變成了 4字節,雖然長度沒發生改變,但是文字已經改變。這里的 ? 占用 1 個字節。

藍藍設計www.gyxygd.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.gyxygd.cn

存檔