A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

System.out.println("我来了".getBytes()[0]),打印出来的怎么会是十进制的-50,字节应该是8位的二进制才对啊

11 个回复

倒序浏览
凡事不行就问百度啊!
回复 使用道具 举报
厉害`````````````````````````````````````
回复 使用道具 举报
tiamo305 发表于 2016-8-23 22:00
厉害`````````````````````````````````````

同学想出来了么?好好看看书
回复 使用道具 举报
陈耀鹏 发表于 2016-8-23 21:57
凡事不行就问百度啊!

百度说他不会咋搞
回复 使用道具 举报
你需要查看你系统的编码表,"我"字是由几个字节组成的,第一个字节是多少。打印默认会打印出10进制数据的,一般情况下并不会打印2进制给你看。
回复 使用道具 举报
有什么可能,控制台输出的是以十进制显示的二进制补码
回复 使用道具 举报
用的是系统默认的gbk或者utf-8编码
回复 使用道具 举报
这个问题 你应该去了解了解 进制转换的知识吧 我也不太了解 可能只这方面问题 也可能是编码的问题
回复 使用道具 举报
同样求解?
回复 使用道具 举报
阿卜 发表于 2016-8-24 10:05
你需要查看你系统的编码表,"我"字是由几个字节组成的,第一个字节是多少。打印默认会打印出10进制数据的, ...

好的知道了,
回复 使用道具 举报

一个汉字占两个字节,利用getBytes()方法转换成了字节数组,获取第0个字节只获取半个汉字的字节,而且控制台显示时会转换成十进制给你看,,,,,汉字转成字节数组,返回一个字节毫无意义...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马