java16進制的字元串
發布時間: 2024-06-12 06:47:55
① java中如何聲明一個十六進制的字元串,或者說,怎麼發送一個十六進制數據
先弄清楚:
1:「位元組」是byte,「位」是bit ;
2: 1 byte = 8 bit ;
char 在java中是2個位元組。java採用unicode,2個位元組(16位)來表示一個字元。
例:
char x = '我';
String str = "我";
byte[] bytes = str.getBytes(); //我想不明白,為什麼這里要佔用3個byte呢? 3個byte一共是3*8=24位;
那麼char x 怎麼又放得下?因為char是16位的啊??
原因:
byte[] bytes = str.getBytes();之後是3個位元組,這里和前面的概念不一樣。
java是用unicode來表示字元,"我"這個中文字元的unicode就是2個位元組。 String.getBytes(encoding)方法是獲取指定編碼的byte數組表示,通常gbk/gb2312是2個位元組,utf-8是3個位元組。如果不指定encoding則取系統默認的encoding。
熱點內容