猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
java中字符用八进制表示 不全 是吗?
因为
char b='\377';
System.out.println(b);
这个 不能 在大了 。
慕田峪7551596
浏览 1997
回答 3
3回答
onemoo
如果你只是想用 '\377' 这样的形式——通过转义八进制数——来表示 char 的话,那么确实不行。Java 只允许转义不超过 0377 的八进制数来表示字符。0377 是占满 8 位的数,但 Java 中的 char 是 16 位,所以无法表达所有 char 值。 其实 Java 允许转义八进制数表示字符是来源于 C 语言,C 中字符类型只占 8 位,所以才有这个限制。Java 是推荐使用转义十六进制数来表示 char 的。如果不用转义,换一种方式,你可以用“把八进制数表示为整型,再把整型转为 char 类型”来实现八进制数到 char 的转换。用 '卷' 举例,它的八进制数值为 051567,可以这样:char c = (char)051567;
1
0
2
onemoo
Java 中的字符型 char 并不是只占用 1 字节,它占用 16 字节(抱歉,这里之前手误,应该是 16 位)。而且 Java 中字符采用 UTF-16 编码,所以一个字符有可能占用两个 char。另外,如何表示和进制没关系。
1
0
2
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续