java对获取的字节数组bytes[]进行处理:
第一种,直接将该字节数组转换为字符串(部分):
String content = new String(dp.getData(),0,2); //从位置0开始获取2个字节
这样,对获取的数据报进行全部转换:
String content = new String(dp.getData(),0,dp.getLength()); //从位置0开始获取dp.getLength()个长度转换为字符串
通过获取从任意位置(比如0,x)处开始获取2或者dp.getLength()个字节将其转换为字符串,给予显示
之后转换为整型或者小数都可以,这是字符串转整型/浮点型的问题了
第二种办法,
将字节数组转换为十六进制,之后获取某位置开始的多少位数,再之后将该16进制通过函数或者new String 的方法转换为字符串。这样也可以达到目的
/*** byte[] 转为16进制String*/
public static String Bytes2HexString(byte[] b) {
String ret= "";for (int i = 0; i < b.length; i++) {
String hex= Integer.toHexString(b[i] & 0xFF);if (hex.length() == 1) {
hex= '0' +hex;
}
ret+=hex.toUpperCase();
}returnret;
}/*** 从一个byte[]数组中截取一部分
*@paramsrc
*@parambegin
*@paramcount
*@return
*/
public static byte[] subBytes(byte[] src, int begin, intcount) {byte[] bs = new byte[count];for (int i=begin;i
}//转化十六进制编码为字符串
public staticString toStringHex(String s)
{byte[] baKeyword = new byte[s.length()/2];for(int i = 0; i < baKeyword.length; i++)
{try{
ba