黑马程序员技术交流社区

标题: 今天看到String,求教大神,java中关于String类的getBytes()方法的问题 [打印本页]

作者: 马蚁牙黑    时间: 2016-8-19 23:14
标题: 今天看到String,求教大神,java中关于String类的getBytes()方法的问题
System.out.println("我来了".getBytes()[0]),打印出来的怎么会是十进制的-50,字节应该是8位的二进制才对啊
作者: 陈耀鹏    时间: 2016-8-23 21:57
凡事不行就问百度啊!
作者: tiamo305    时间: 2016-8-23 22:00
厉害`````````````````````````````````````
作者: 马蚁牙黑    时间: 2016-8-24 09:15
tiamo305 发表于 2016-8-23 22:00
厉害`````````````````````````````````````

同学想出来了么?好好看看书
作者: 马蚁牙黑    时间: 2016-8-24 09:36
陈耀鹏 发表于 2016-8-23 21:57
凡事不行就问百度啊!

百度说他不会咋搞
作者: 阿卜    时间: 2016-8-24 10:05
你需要查看你系统的编码表,"我"字是由几个字节组成的,第一个字节是多少。打印默认会打印出10进制数据的,一般情况下并不会打印2进制给你看。
作者: lrwillinggerry    时间: 2016-8-24 15:48
有什么可能,控制台输出的是以十进制显示的二进制补码
作者: Fightingdd    时间: 2016-8-24 20:36
用的是系统默认的gbk或者utf-8编码
作者: NewBeeCoder    时间: 2016-8-24 21:53
这个问题 你应该去了解了解 进制转换的知识吧 我也不太了解 可能只这方面问题 也可能是编码的问题
作者: 小超超    时间: 2016-8-24 22:42
同样求解?
作者: 马蚁牙黑    时间: 2016-8-25 21:50
阿卜 发表于 2016-8-24 10:05
你需要查看你系统的编码表,"我"字是由几个字节组成的,第一个字节是多少。打印默认会打印出10进制数据的, ...

好的知道了,
作者: EveryIN0    时间: 2016-8-25 22:17
马蚁牙黑 发表于 2016-8-25 21:50
好的知道了,

一个汉字占两个字节,利用getBytes()方法转换成了字节数组,获取第0个字节只获取半个汉字的字节,而且控制台显示时会转换成十进制给你看,,,,,汉字转成字节数组,返回一个字节毫无意义...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2