怎么样将byte数组转换成String?

xiaochongvip 2006-06-21 03:37:32

如我的byte数组数据为{1,2,97,98,96,98}我想转成String ,其中97按照ascii表为字符a
,98为字符c,应该怎么装换?
我可不想String转换为1297989698的,这样没办法看。
谢谢。
...全文
1161 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaochongvip 2006-06-21
  • 打赏
  • 举报
回复
楼上行。谢谢.
forevertraveller 2006-06-21
  • 打赏
  • 举报
回复
byte[] a = {1,2,97,98,96,98} ;
StringBuffer s1=new StringBuffer(128);
s1.append("the final result:");
for (int i=0;i<a.length ;i++ )
{
s1.append((char)a[i]);

}
System.out.println(s1);
xiaochongvip 2006-06-21
  • 打赏
  • 举报
回复
都不行啊。
函数传进来的是byte数组
商科程序员 2006-06-21
  • 打赏
  • 举报
回复
就这样就行呀!
char[] c = new char[] {1,2,97,98,96,98};
System.out.println(new String(c));
输出结果是: ab`b
bjskyhorse 2006-06-21
  • 打赏
  • 举报
回复

// 字节数据转换为可打印字符串
// 如:{0xC8, 0x32, 0x9B, 0xFD, 0x0E, 0x01} --> "C8329BFD0E01"
// pSrc: 源数据指针
// pDst: 目标字符串指针
// nSrcLength: 源数据长度
// 返回: 目标字符串长度
int Bytes2String(const unsigned char* pSrc, char* pDst, int nSrcLength)
{
const char tab[]="0123456789ABCDEF"; // 0x0-0xf的字符查找表

for(int i=0; i<nSrcLength; i++)
{
// 输出低4位
*pDst++ = tab[*pSrc >> 4];

// 输出高4位
*pDst++ = tab[*pSrc & 0x0f];

pSrc++;
}

// 输出字符串加个结束符
*pDst = '\0';

// 返回目标字符串长度
return nSrcLength * 2;


}
kevinliuu 2006-06-21
  • 打赏
  • 举报
回复
byte[] a = {1,2,97,98,96,98} ;
String s = new String(a) ;

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧