byte[]数组怎么存放127~255之间的整数的?

__Ray__ 2010-04-14 04:25:38
byte的上下限不是-128~127吗?但是为什么用

String s = "中文";
byte[] reqBuf = s.getBytes();

可以存入汉字?汉字的字节码>127的,out.print输出的结果看到也是>127的数
...全文
230 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbgzg3006 2010-04-14
  • 打赏
  • 举报
回复
大于127的byte必然都成了负数了啊。
James.Ji 2010-04-14
  • 打赏
  • 举报
回复
public static void main(String[] args) {
String s = "中文";
byte[] b = s.getBytes();

for (byte bb : b) {
System.out.print(bb + ",");
}
}
执行一下,看看哪个值超过-128~127这个范围了,然后再来提问
weberwong 2010-04-14
  • 打赏
  • 举报
回复
1-127是正数,128-255是负数,用的时候b >= 0 ? b : b + 256
每个byte是256个数,两个byte按高低位排列不就可以表达>256的数字了么
__Ray__ 2010-04-14
  • 打赏
  • 举报
回复
我用

byte[] reqBuf = {200};

立马提示出错,感觉Java在这个问题上太不严谨了,文档里的说明和实际根本对不上,打击了我的学习兴趣

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧