java网络传输中文字符的问题

rose_sword 2007-09-04 04:22:40
客户端:
String strArea="华中区";
dos.write(strArea.getBytes(),0,strArea.length());
服务器端:
byte [] data=new byte[4096];
num=dis.read(data);
dos.write("ok".getBytes());
String strArea=new String(data,0,num);
得到的数据为:华?
请问应如何修改
...全文
173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfcai 2007-09-04
  • 打赏
  • 举报
回复
传输格式问题
bit1010 2007-09-04
  • 打赏
  • 举报
回复
另外
dos.write(strArea.getBytes("UFT-8"),0,strArea.length());
这么些不是好风格,

最该这么写:

byte[] b = strArea.getBytes("UFT-8");
dos.writer(b,b.length);
bit1010 2007-09-04
  • 打赏
  • 举报
回复
楼上的答案不一定正确,传输和接受要统一起来,建议使用UTF-8的。

String strArea="华中区";
dos.write(strArea.getBytes("UFT-8"),0,strArea.length());
服务器端:
byte [] data=new byte[4096];
num=dis.read(data);
dos.write("ok".getBytes());
//String strArea=new String(data,0,num);
String strArea = new String(data,"UTF-8");
得到的数据为:华?
请问应如何修改
Ji秋风 2007-09-04
  • 打赏
  • 举报
回复
new String(data, "GB2312");
luanxj 2007-09-04
  • 打赏
  • 举报
回复
编码的问题

62,616

社区成员

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

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