java中怎么证明一个字符占2个字节?

我只想知道一个字符chara='A';怎么能打印出他占用的是2个字节???... 我只想知道一个字符
char a='A';怎么能打印出他占用的是2个字节???
展开
 我来答
liutie5
2012-12-04 · TA获得超过216个赞
知道答主
回答量:231
采纳率:0%
帮助的人:101万
展开全部
java 规定好的占两个字节。
首先,要搞清楚 code point 和 encoding 的区别。Java 是遵循 unicode 4.0 标准的,而内部的 character 以 utf-16 作为 encoding。unicode 4.0 标准包含从 U+0000-U+FFFF 的基本多语言平面和 U+10000-U+10FFFF 的扩展平面的文字,这是 code point。Java 的 char 类型是 16 bit 的,所以单个 char 只支持基本平面内的文字,而扩展平面的文字是由一对 char 来表示的。

而 String.getBytes() 这个方法是按照指定的 encoding 返回字符串,一般中文系统的默认编码是 utf-8 (linux, mac) 或者 gbk/gb18030 (windows)。只要是基本平面内的文字,utf-8码的中文都是3字节的,而 gbk/gbk18030 是2字节的。英文编码是一个字节的。
追问
文字有点看不懂,能举个例子打印出一个字符所占的字节吗?
hbssez
推荐于2017-10-12 · TA获得超过204个赞
知道答主
回答量:160
采纳率:0%
帮助的人:74.3万
展开全部
你好,我们通常说的一个字符占两个字节是指汉字,英文字母是一个字节
public class getCharBytes {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Character a ='a';
Character b ='啊';
System.out.println(a.toString().getBytes().length);
System.out.println(b.toString().getBytes().length);
}
}
更多追问追答
追问
可是我们都知道java中一个字符是占用2个字节的呀

而且,我们也知道int类型占用4个字节
int aa=5;
System.out.println((aa+"").toString().getBytes().length);

打印了1,是不是哪里出了问题了
追答
public class getCharBytes {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Character a ='a';
Character b ='啊';
Integer c = 5;
System.out.println(a.SIZE);
System.out.println(b.SIZE);
System.out.println(c.SIZE);
}
}
应该用这个方法,显示的是bit数,这就对了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疏狂山人
2012-12-04 · TA获得超过1940个赞
知道小有建树答主
回答量:395
采纳率:100%
帮助的人:225万
展开全部
一个字母就是一个字节。。
一个汉字占两个字节,你换成中文的试试
追问
java中    java本身就是利于平台移植
char=2byte int=4byte 这是大家都知道的,书上也这么说,老师也这样说,网上也这样说。。。
我只想证明一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
galaxyway
2012-12-04 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:92.8万
展开全部
这是规定好的,用得着证明?
追问
Character a='A';
System.out.println(a.toString().getBytes().length);
为什么显示1呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白痴狼
2012-12-04 · TA获得超过138个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:254万
展开全部
"文".getBytes().length
追问
System.out.println("a".getBytes().length);

刚刚试了你的答案,结果为1啊,怎么与java中一个字符不附呢??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式