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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java中字符用八進制表示 不全 是嗎?

java中字符用八進制表示 不全 是嗎?

慕田峪7551596 2017-10-21 17:21:21
因為?? char b='\377';? System.out.println(b);這個 不能 在大了 。
查看完整描述

3 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

如果你只是想用?'\377' 這樣的形式——通過轉義八進制數——來表示 char 的話,那么確實不行。

Java 只允許轉義不超過 0377 的八進制數來表示字符。0377 是占滿 8 位的數,但 Java 中的 char 是 16 位,所以無法表達所有 char 值。? 其實 Java 允許轉義八進制數表示字符是來源于 C 語言,C 中字符類型只占 8 位,所以才有這個限制。

Java 是推薦使用轉義十六進制數來表示 char 的。


如果不用轉義,換一種方式,你可以用“把八進制數表示為整型,再把整型轉為 char 類型”來實現八進制數到 char 的轉換。

用 '卷' 舉例,它的八進制數值為 051567,可以這樣:char c = (char)051567;

查看完整回答
1 反對 回復 2017-10-22
?
onemoo

TA貢獻883條經驗 獲得超454個贊

Java 中的字符型 char 并不是只占用 1 字節,它占用 16 字節(抱歉,這里之前手誤,應該是 16 位)。而且 Java 中字符采用 UTF-16 編碼,所以一個字符有可能占用兩個 char。

另外,如何表示和進制沒關系。

查看完整回答
1 反對 回復 2017-10-21
  • 慕田峪7551596
    慕田峪7551596
    抱歉 或許我的問題沒表達清楚, 這樣吧,具體化,我想輸出字符中的‘卷’(編碼大于256即可),但我只允許依靠八進制的 轉義字符來表示,如何做呢?
  • onemoo
    onemoo
    這樣的話,確實無法轉義更大的八進制數。這里太擠,我另寫了一個詳細回答。
  • 3 回答
  • 0 關注
  • 2041 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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