java中使用socket如何传输2进制数据流。特别是在有中文的情况下。 对于2进制数据来说,是没有中文字符的问题的.具体中文字符在byte[]中是几个长度,对于你传输来说都是一样的.把传输内容保存为byte[],计算出长度,再在服务器端接收.至于在服务器端汉字出现“?”,是显示的问题,与传输无关. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 现在我就是在String转化为byte[]有问题。当英文与中文同时出现时出现"?" 这其实是一个显示的问题,你的客户端是否支持UNICODE字符集?在服务器端使用unicode的格式来输出就可以了(使用从Reader,Writer衍生出来的类的方法) 现在问题的实质应该说是:如何将String中的字符正确的转化放入byte数组中存放。 使用中文字符集或者是UNICODE字符集转化(使用中文字符集的代码如下),在你的例子中传输可以一次完成,没有必要再浪费一次连接时间。String.getBytes("gb2312"); 个人观点,希望对你有用。 试试先将中文转换成UNICODE,再存放到String中,输出时再换回来试试,等待你的答复,我也想知道答案,一起探讨!! 传送的都是byte[],转换成中文那就要把byte[]编码成为一个String. 同志们我现在需要发送的数据是 1111你好 接一个自己定义的结束标识0xfa。我是这样定义的public static final char ENDMSG = 0xfa;String a = "1111你好" + ENDMSG;将上述数据发送服务器端时,若使用a.getBytes("GBK"),数据转换不正确。各位可有好方法? 1、Server端和Client端应该使用相同的代码集;2、可以在发送的数据包前加上数据包长度,而不应使用特殊符号作为结尾标志;3、IP包的最大长度大概为1400左右长度,收取时应循环接收;这个问题如果这样做很容易解决,不是什么太麻烦的东西。个人观点,希望对你有用。 会写反射的高手帮忙看个小代码 jsp 里的代码 想改变成 asp 里的,请会的朋友帮忙 关于Socket接收二进制流的字节数不一致的问题?(急!!!) JAVA技术联盟 28914924 JAVA群,以后大家互相学习互相帮助! java 卡片布局问题 布局管理器 相关问题??? help 哪有免费的 JDBC 驱动下载 java文件如何编译成可执行文件(exe) 请问高手如何去掉JList的边框? 我想做一个模拟软件 如何将string类型转换成date类型?急
等待你的答复,我也想知道答案,一起探讨!!
我是这样定义的
public static final char ENDMSG = 0xfa;
String a = "1111你好" + ENDMSG;
将上述数据发送服务器端时,若使用a.getBytes("GBK"),数据转换不正确。
各位可有好方法?
2、可以在发送的数据包前加上数据包长度,而不应使用特殊符号作为结尾标志;
3、IP包的最大长度大概为1400左右长度,收取时应循环接收;这个问题如果这样做很容易解决,不是什么太麻烦的东西。个人观点,希望对你有用。