java byte转换成字符串?
我需要CRC16进行校验,从网上下载了一个是需要参数是string形的,我要将byte转换成String!比如获取的字节码是byte[]aa={(byte)0x55,0x...
我需要CRC16进行校验,从网上下载了一个是需要参数是string形的,我要将byte转换成String!比如获取的字节码是
byte [] aa = {(byte)0x55,0x06,(byte)0x0b, (byte)0x01,0x01,0x06,0x0b,0x0c,0x0001,(byte)0xff};我需要转换成的字符串是“55060b0101060b0c0001ff”这种,然后生成的校验码和底层提供的校验码一致!比较急,在线等!或者提供byte数组的MOD_BUS CRC16的算法也行!
unsigned int CalcCrc(unsigned char crcbuf)
{
unsigned char i,TT;
//uint CRC = 0xffff;
crc = crc ^ crcbuf;
for(i = 0; i < 8; i ++)
{
TT = crc & 1;
crc = crc >> 1;
crc = crc & 0x7FFF;
if(TT == 1)
crc = crc ^ 0xa001;
crc = crc & 0xFFFF;
}
return(crc);
}
上述函数为计算CRC16子函数,下为应用实例:
crc = 0xFFFF;for (i=0;i<ASK_LENGTH-2;i++) crc=CalcCrc(ASK[i]);ASK[ASK_LENGTH-2]=crc%0x100; //CRCHASK[ASK_LENGTH-1]=crc/0x100; //CRCL其中ASK【】为一个unsigned char 数组,首先初始化CRC=0xffff,再通过循环计算ASK【】数组中每个数值,得出CRC 展开
byte [] aa = {(byte)0x55,0x06,(byte)0x0b, (byte)0x01,0x01,0x06,0x0b,0x0c,0x0001,(byte)0xff};我需要转换成的字符串是“55060b0101060b0c0001ff”这种,然后生成的校验码和底层提供的校验码一致!比较急,在线等!或者提供byte数组的MOD_BUS CRC16的算法也行!
unsigned int CalcCrc(unsigned char crcbuf)
{
unsigned char i,TT;
//uint CRC = 0xffff;
crc = crc ^ crcbuf;
for(i = 0; i < 8; i ++)
{
TT = crc & 1;
crc = crc >> 1;
crc = crc & 0x7FFF;
if(TT == 1)
crc = crc ^ 0xa001;
crc = crc & 0xFFFF;
}
return(crc);
}
上述函数为计算CRC16子函数,下为应用实例:
crc = 0xFFFF;for (i=0;i<ASK_LENGTH-2;i++) crc=CalcCrc(ASK[i]);ASK[ASK_LENGTH-2]=crc%0x100; //CRCHASK[ASK_LENGTH-1]=crc/0x100; //CRCL其中ASK【】为一个unsigned char 数组,首先初始化CRC=0xffff,再通过循环计算ASK【】数组中每个数值,得出CRC 展开
4个回答
展开全部
1、将byte数组转换成字符
byte[] b={(byte)0xB8,(byte)0xDF,(byte)0xCB,(byte)0xD9};
String str= new String (b);
2、将字符转换成byte数组
String str = "XXXX";
byte[] sb = str.getBytes();
byte[] b={(byte)0xB8,(byte)0xDF,(byte)0xCB,(byte)0xD9};
String str= new String (b);
2、将字符转换成byte数组
String str = "XXXX";
byte[] sb = str.getBytes();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如byte b = 3;
String str = String.valueOf(b);
或者
String str = b + “”;
如果是byte数组
byte[] bs=...
String str = new String(bs);
希望对你有帮助
String str = String.valueOf(b);
或者
String str = b + “”;
如果是byte数组
byte[] bs=...
String str = new String(bs);
希望对你有帮助
更多追问追答
追问
你好,这种我试了,和人家提供生成校验的完全不同,不能使用的!求指教哈!
追答
是啊 你刚才问题没补充
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte b[] = s.getBytes();//String转换为byte[]
String t = new String(b);//bytep[]转换为String
String t = new String(b);//bytep[]转换为String
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询