当前位置:  技术问答>java相关

真的很急,socket发送中文信息时,接收端显示有误,请指教

    来源: 互联网  发布时间:2015-06-01

    本文导语:  applet用udp传输中文文本和接收显示,我用了以下几种转换都不行: 发送端和接收端都不转换是不行的, 发送端转换成ISO8859_1,接收端转换成GB2312和不转换都不行。 应该怎么转换,请指教! | ...

applet用udp传输中文文本和接收显示,我用了以下几种转换都不行:
发送端和接收端都不转换是不行的,
发送端转换成ISO8859_1,接收端转换成GB2312和不转换都不行。
应该怎么转换,请指教!

|
发送端:
String s = "";
byte[] data = s.getBytes( "UTF8" );
然后把data发出去

接受端:
byte[] data = ...; //接受到的数据
String s = new String( data, "UTF8" );

|
是不是发送之前就是乱码?
试试
msgTxt=new String (msgTxt.getBytes("ISO-8859-1"),"gb2312");
如果都不行的话,我想问一下,你传输的信息是二进制流还是字符串信息?
如果是byte[]数据流的话,看看在发送之前的将字符串换成byte[]对不对
很可能在这里因为中文字符的length等原因转错了

|
你的问题应该分为两部分.
1.String ->byte[] ,byte[] -> String  (编码相关)
2.数据传输.其中最好不要与编码相关.
你可先在本地把String用编码转为byte[],再相应转回来,看行不行.
行了在做传输的工作,保证传的和接收的一致.


|
你能否保证两边的接收和发送中对待发数据流的处理是相同的么?
另外
如果真的做了byte[] -> String 和 String -> byte[]的转换的话,千万要注意在java里面,中文字符虽然是两个字节,但是它的长度(在String.length()中)却还是1,所以一个中文字符必须用两个byte来存放,但转换的时候若不小心就会失真。
我第一次处理这方面的数据时,就出过错。

|
我建议转换成字节流传。服务器还是VC写的了,受到的就是中文。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • socket accept问题,大家指教。
  • socket编程中的问题,请各位大侠指教!
  • socket 编程两问,请大家指教?
  • linux下socket连接数怎么扩充到1024以上.请指教.谢谢
  • 一个socket阻塞问题 ,请多多指教!!!(只剩下100分了)
  • 请问如何捕获linux c SOCKET中SEND的错误,请指教,谢谢!
  • 发送UDP,Socket operation on non-socket,初学,请指教
  • socket套接字的问题,求指教啊
  • socket 初级问题。大家指教。
  • socket编程问题,大家指教。
  • 为什么SOCKET编程时遇到这么奇怪的问题, acceptt接受客户端时总是返回-1,请高手指教,急!!!!!!!!!!!!!!
  • 通过Socket通信处理XML时遇到的问题,请指教
  • java开源软件 iis7站长之家
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3