亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

J學 74 -27 -83 -90 ?utf-8?

```java

package com.string;

????public class CNStrTest {

????????public static void main(String[] args) {

???????? String str = "J學";

???????? byte[] b = str.getBytes();

???????? for (int i = 0; i < b.length; i++) {

???????????? System.out.print(b[i] + " ");

???????? }

????}

}

```

結果

```

74 -27 -83 -90?

```

正在回答

4 回答

在java中,一個字符等于多少字節?

或者更詳細的問:在java中,一個英文字符等于多少字節?一個中文字符等于多少字節?

?

答案

Java采用unicode來表示字符,java中的一個char是2個字節,一個中文或英文字符的unicode編碼都占2個字節,但如果采用其他編碼方式,一個字符占用的字節數則各不相同。

在 GB 2312 編碼或 GBK 編碼中,一個英文字母字符存儲需要1個字節,一個漢子字符存儲需要2個字節。

在UTF-8編碼中,一個英文字母字符存儲需要1個字節,一個漢字字符儲存需要3到4個字節。

在UTF-16編碼中,一個英文字母字符存儲需要2個字節,一個漢字字符儲存需要3到4個字節(Unicode擴展區的一些漢字存儲需要4個字節)。

在UTF-32編碼中,世界上任何字符的存儲都需要4個字節。


0 回復 有任何疑惑可以回復我~
#1

Capricorncd 提問者

3Q~
2019-04-08 回復 有任何疑惑可以回復我~
語句中添加???byte[]?c?=?aa.getBytes("GBK");

UTF-8編碼長度:3

GBK編碼長度:2

GB2312編碼長度:2

==========================================

字節長度為:4

字符長度為:2

-47 -89?


0 回復 有任何疑惑可以回復我~
#1

慕少1317773

大佬 課程中其它數字都對應上了,多出來兩個32 代表什么呢
2020-05-20 回復 有任何疑惑可以回復我~
String?aa?=?"學";
System.out.println("UTF-8編碼長度:"+aa.getBytes("UTF-8").length);
System.out.println("GBK編碼長度:"+aa.getBytes("GBK").length);
System.out.println("GB2312編碼長度:"+aa.getBytes("GB2312").length);
System.out.println("==========================================");

? ?------運行結果

UTF-8編碼長度:3

GBK編碼長度:2

GB2312編碼長度:2

==========================================


0 回復 有任何疑惑可以回復我~

如果編碼方式為GBK,對于字符串“測試test”,字符長度為6,字節長度為8。

如果編碼方式為UTF_8,對于字符串“測試test”,字符長度為6,字節長度為10。


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

J學 74 -27 -83 -90 ?utf-8?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號