java 中一个英文字母占用几个字节?
java中String类型是由char组成的,一个char占用两个字节(byte)。"S".getBytes()应该返回两个byte才对,怎么只返回了一个?另外如果是汉字...
java中String类型是由char组成的,一个char占用两个字节(byte)。"S".getBytes()应该返回两个byte才对,怎么只返回了一个?另外如果是汉字的话,可以返回两个byte。
我的意思是:在java定义中char类型采用unicode编码,占用两个字节,也就是十六位。但是"S".getBytes().length的结果却是 1 ,说明只占用了一个byte,应该是2才对啊,这是什么原因?我估计是:输出的字符串占用的字节数与机器上存储时占用的字节数不同。欢迎大家讨论 展开
我的意思是:在java定义中char类型采用unicode编码,占用两个字节,也就是十六位。但是"S".getBytes().length的结果却是 1 ,说明只占用了一个byte,应该是2才对啊,这是什么原因?我估计是:输出的字符串占用的字节数与机器上存储时占用的字节数不同。欢迎大家讨论 展开
5个回答
展开全部
在java中 字母就是一个byte,无大小写之分的
而汉字 是两个byte
而汉字 是两个byte
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能贴上具体代码吗?而且不同操作系统对于编码也不尽相同,Srting.getBytes返回的是系统默认的编码格式的数组。有可能是赋值的过程出现问题,也有可能是操作平台的问题。中文操作系统,中文返回2个byte而应用IOS-8895-1的英文系统或者平台默认所有字符都是1byte。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果S是半形,就是1byte,如果是全形,就是2byte,汉字是全形,所以是2byte。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是1个字节了
追问
java定义中char采用unicode编码,占用两个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询