java byte 数组里存的是ascii码,怎么转成字符串

Stringstr="";try{Socketsocket=newSocket("192.168.0.168",9999);//向本机的4700端口发出客户请求Print... String str ="";
try {
Socket socket = new Socket("192.168.0.168", 9999);// 向本机的4700端口发出客户请求
PrintWriter os = new PrintWriter(socket.getOutputStream());
DataInputStream reader = new DataInputStream(socket.getInputStream());
String readline;
readline = "ok"; // 从系统标准输入读入一字符串
int bytesRead = 0;
while (!readline.equals("end")) { os.println(readline); os.flush(); byte [] aa = new byte[reader.available()];
reader.read(aa);
readline = "ok"; } os.close(); // 关闭Socket输出流
reader.close(); // 关闭Socket输入流
socket.close(); // 关闭Socket
} catch (Exception e) {
System.out.println("Error" + e); // 出错,则打印出错信息
}
怎么将aa 转换成string字符串,控制台打印出来,str=new String(aa);这样转的话打印出来的都是乱码
展开
 我来答
超大蒲公英
2015-07-29 · TA获得超过742个赞
知道小有建树答主
回答量:758
采纳率:75%
帮助的人:745万
展开全部
byte[] b=new byte[]{65,66,67,68};//字节数组
        String s=new String(b,"ascii");//第二个参数指定编码方式
        System.out.print(s);
bd9006
2012-06-12 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
new String(byteArray);
String(byte[] bytes)
Constructs a new String by decoding the specified array of bytes using the platform's default charset.

换成这个构造函数:

String(byte[] bytes, String charsetName)
Constructs a new String by decoding the specified array of bytes using the specified charset.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
enolong
2012-06-12 · TA获得超过1174个赞
知道小有建树答主
回答量:590
采纳率:100%
帮助的人:377万
展开全部
如果有中文的话,改成这个:new String(aa, "GB2312");告诉它转成GB2312格式的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
的东情1
2012-06-12
知道答主
回答量:47
采纳率:0%
帮助的人:30.3万
展开全部
str=new String(aa,,"ISO-8859-1");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式