BYTE转16进制的问题 String s = "FF"; byte b = (byte)0xFF;这两个是有区别的,一个是字符串,一个是字节,字符串s占用的是两个字节,而字节b占用的是一个字节。Integer.toHexString()获取的就是字符串 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还是有些迷糊,比如有16进制报文如下: "007C3031323345......" 正常来讲的话,这是一个字符串,长度是多少就是多少,但是读的时候要2个字节读作一个字节,我知道该这么处理,但是就是不理解。 007C是16进制下的报文长度,后面跟的是0123F,但是既然是16进制字符串,那007C就是占4个字节吧?为什么要看成2个字节? 两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节? 两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了? 两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了?那是字符串长度,用字符串表示只是方便处理,比如一个整数123456占用4个字节,写成字符串“123456”当然长度是6,但并不代表这个数是6个字节 两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了?那是字符串长度,用字符串表示只是方便处理,比如一个整数123456占用4个字节,写成字符串“123456”当然长度是6,但并不代表这个数是6个字节哦,那通常报文中的长度,指的不是字符串的长度吗?就是弄得报文这一块,长度这里就晕了。 显示结果好奇怪??? 关于applet 关于包org.apache.lucene.ant 关于drawImage方法的应用 如何用java来读取数学方程和非线性函数 exe4j打包后运行提示ClassNotFoundException java 关于文件传输限速的问题 关于正则表达式的问题 菜鸟报道,新手求罩! 如何用Java实现区分虚拟机的IP地址和本机正在连接网络使用的ip地址 java io中有关缓冲区...数据时如何读入到缓冲区的
"007C3031323345......"
正常来讲的话,这是一个字符串,长度是多少就是多少,但是读的时候要2个字节读作一个字节,我知道该这么处理,但是就是不理解。
007C是16进制下的报文长度,后面跟的是0123F,但是既然是16进制字符串,那007C就是占4个字节吧?为什么要看成2个字节?
两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。
另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?
两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。
另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?
但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了?
两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。
另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?
但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了?
那是字符串长度,用字符串表示只是方便处理,比如一个整数123456占用4个字节,写成字符串“123456”当然长度是6,但并不代表这个数是6个字节
两个16进制数表示一个字节,一个字节的范围是0~255,而一个16进制数字的范围是0~15,所以需要两个16进制才能完整表示一个字节。
另外007C怎么会是4个字节,都跟你说了这是16进制数,是数!!!数!!!比如说10进制int型整数123456,难道占用6个字节?
但是这个16进制报文正常打印长度的话,比如30就是2个字节长度啊,是不是说不能把他当成字符串了?要转化回10进制后的字符串才算了?
那是字符串长度,用字符串表示只是方便处理,比如一个整数123456占用4个字节,写成字符串“123456”当然长度是6,但并不代表这个数是6个字节
哦,那通常报文中的长度,指的不是字符串的长度吗?就是弄得报文这一块,长度这里就晕了。