欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中char[] 和 String 類型占用字節(jié)大小問題

 更新時間:2019年08月14日 10:09:47   作者:威威喵  
這篇文章主要介紹了Java中char[] 和 String 類型占用字節(jié)大小問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

作者:威威喵 原文鏈接:https://blog.csdn.net/smile_Running/article/details/87211916

在 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' 結(jié)束,占 1 個字節(jié)。

在 Java 語言中

1、String s = "China"; 占多少字節(jié)?

答:占 5 個字節(jié)。

System.out.println(Charset.defaultCharset());//獲取ide默認(rèn)編碼類型
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默認(rèn))時,每一個漢字占用 2 個字節(jié),那么中國占 4 個字節(jié)。

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

3、轉(zhuǎn)碼問題,GBK 轉(zhuǎn) 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 轉(zhuǎn) GBK 編碼格式,s 長度從 6 字節(jié)變?yōu)?9 字節(jié)。

s 內(nèi)容變化:中國 —> 涓浗

因為當(dāng)前編碼是 UTF-8,轉(zhuǎn)碼之后變成了 3 個文字,占用 9 個字節(jié)。然而,反過來的情況是這樣的:

中國 (gbk) —> ?й? (utf-8)

s 長度從 4字節(jié) 變成了 4字節(jié),雖然長度沒發(fā)生改變,但是文字已經(jīng)改變。這里的 ? 占用 1 個字節(jié)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot中過濾器Filter+JWT令牌實現(xiàn)登錄驗證

    SpringBoot中過濾器Filter+JWT令牌實現(xiàn)登錄驗證

    本文主要介紹了SpringBoot中過濾器Filter+JWT令牌實現(xiàn)登錄驗證,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • 如何解決Spring事務(wù)注解@Transactional在類內(nèi)部方法調(diào)用不生效

    如何解決Spring事務(wù)注解@Transactional在類內(nèi)部方法調(diào)用不生效

    這篇文章主要介紹了如何解決Spring事務(wù)注解@Transactional在類內(nèi)部方法調(diào)用不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Spring?Boot?+?Mybatis?Plus實現(xiàn)樹狀菜單的方法

    Spring?Boot?+?Mybatis?Plus實現(xiàn)樹狀菜單的方法

    這篇文章主要介紹了Spring?Boot?+?Mybatis?Plus實現(xiàn)樹狀菜單,包括實體類中添加子菜單列表和集合及構(gòu)建菜單樹的詳細(xì)代碼,代碼簡單易懂,需要的朋友可以參考下
    2021-12-12
  • 解決Spring配置文件中bean的property屬性中的name出錯問題

    解決Spring配置文件中bean的property屬性中的name出錯問題

    這篇文章主要介紹了解決Spring配置文件中bean的property屬性中的name出錯問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java使用zookeeper實現(xiàn)的分布式鎖示例

    java使用zookeeper實現(xiàn)的分布式鎖示例

    這篇文章主要介紹了java使用zookeeper實現(xiàn)的分布式鎖示例,需要的朋友可以參考下
    2014-05-05
  • 詳解如何通過Java實現(xiàn)類似Nginx代理

    詳解如何通過Java實現(xiàn)類似Nginx代理

    最近遇到一個問題,在內(nèi)網(wǎng)環(huán)境中部署的項目需要調(diào)用外網(wǎng)完成一些應(yīng)用,一般情況我們可以通過增加一臺機器,部署到可以訪問外網(wǎng)的服務(wù)器上,然后內(nèi)網(wǎng)直接連接該機器通過Nginx進行代理即可,所以本文介紹了如何通過Java實現(xiàn)類似Nginx代理,需要的朋友可以參考下
    2024-08-08
  • SpringBoot 如何實時刷新靜態(tài)文件

    SpringBoot 如何實時刷新靜態(tài)文件

    這篇文章主要介紹了SpringBoot如何實時刷新靜態(tài)文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 使用spring的IOC解決程序耦合的方法

    使用spring的IOC解決程序耦合的方法

    這篇文章主要介紹了使用spring的IOC解決程序耦合的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 一篇文章帶你搞定 springsecurity基于數(shù)據(jù)庫的認(rèn)證(springsecurity整合mybatis)

    一篇文章帶你搞定 springsecurity基于數(shù)據(jù)庫的認(rèn)證(springsecurity整合mybatis)

    這篇文章主要介紹了一篇文章帶你搞定 springsecurity基于數(shù)據(jù)庫的認(rèn)證(springsecurity整合mybatis),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • java前后端加密解密crypto-js的實現(xiàn)

    java前后端加密解密crypto-js的實現(xiàn)

    這篇文章主要介紹了java前后端加密解密crypto-js的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論