java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园

java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园服务器发送一条数据如:Java代码BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));PrintWriterout=newPrintWriter(client.getOutputStream());out.println(“没有查到该数据。”);//向客户端发送out….

大家好,又见面了,我是你们的朋友全栈君。

服务器发送一条数据如:

Java代码

BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

PrintWriter out = new PrintWriter(client.getOutputStream());

out.println(“没有查到该数据。”);//向客户端发送

out.flush();

BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

PrintWriter out = new PrintWriter(client.getOutputStream());

out.println(“没有查到该数据。”);//向客户端发送

out.flush();

然后客户端接收:

Java代码

public BufferedReader recieve(){

//从服务端程序接收数据

InputStreamReader isr=null;

BufferedReader br=null;

try {

isr = new InputStreamReader(server.getInputStream());//这里需要GBK

br = new BufferedReader(isr);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return br;

}

///

BufferedReader br=recieve();

while((message = br.readLine()) != null){

messages+=message;

}

System.out.println(“messages=”+messages);

public BufferedReader recieve(){

//从服务端程序接收数据

InputStreamReader isr=null;

BufferedReader br=null;

try {

isr = new InputStreamReader(server.getInputStream());//这里需要GBK

br = new BufferedReader(isr);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return br;

}

///

BufferedReader br=recieve();

while((message = br.readLine()) != null){

messages+=message;

}

System.out.println(“messages=”+messages);

你会发现这样写会是乱码;

应该写成isr = new InputStreamReader(server.getInputStream(),”GBK”);

这样就正常显示了。

在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156368.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 触摸事件中touchstart、touchmove、touchend、touchcancel事件应用方法及实例

    触摸事件中touchstart、touchmove、touchend、touchcancel事件应用方法及实例触摸事件中touchstar、touchmove、touchend、touchcancel事件应用方法及实例一、分享到:前面我们介绍过移动设备中一些设备事件,例如手机旋转90度、倾斜等设置放置姿态变化的四大事件orientationchange事件、MozOrientation事件、deviceorientation事件、devicemotion事件,接下由南昌网站…

    2022年6月19日
    29
  • 光猫不改桥接外网能访问吗_光猫桥接的利弊

    光猫不改桥接外网能访问吗_光猫桥接的利弊因为群晖需要外网访问,将自购的路由器改为拨号上网,光猫设置为桥接模式。但这种情况下,因为路由的网段(我的是192.168.3.x)和光猫的网段(电信,默认192.168.1.x)不同,此时不能通过192.168.1.1网址来连接光猫,网上也有将光猫称作副路由。解决方法:1、在光猫中插入一根网线,通过有线的方式连接到电脑。现在的笔记本很多都不带RJ45网口,还需要另外准备转接头和网线。2、临时将路由的上网方式变更为自动获取,然后就可以连接192.168.1.1。这种方法的缺点是

    2022年10月8日
    1
  • HDMI 2.0高速电平转换芯片——LK361S20「建议收藏」

    HDMI 2.0高速电平转换芯片——LK361S20「建议收藏」LK361S20是一款DP++到HDMI2.0的高速电平转换芯片.输入支持AC或DC耦合的TMDS信号,最该速率可达6Gbps。支持引脚配置和I2C主从配置方式,外围器件精简。

    2022年8月10日
    7
  • OpenCV实现SfM(四):Bundle Adjustment

    OpenCV实现SfM(四):Bundle Adjustment使用CeresSolver实现三维重建中的BundleAdjustment.

    2022年6月20日
    41
  • 树莓派4B +远程SSH+远程桌面[通俗易懂]

    树莓派4B +远程SSH+远程桌面[通俗易懂]一、有线SSH连接树莓派我的实验环境是笔记本电脑+树莓派4B具体步骤为:1、电脑连接上无线网络,将电脑网线连接树莓派2、打开如下界面3、双击WLAN——>>点击属性——>>再点击共享选择以太网4、双击以太网——>>点击属性——>>IPV4——>>在选择下面的…

    2022年5月15日
    105
  • 扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)「建议收藏」

    扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)「建议收藏」扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)文章目录扩展卡尔曼滤波(EKF)理论讲解与实例(matlab、python和C++代码)理论讲解KF和EKF模型对比雅可比矩阵计算计算实例应用实例线性模型CV模型:CA模型非线性模型CTRV模型:CTRV实例(python)smalldemo抛物线demo飞机高度demoC++实例参考文献我们上篇提到的卡尔曼滤波是用于线性系统,预测(运动)模型和观测模型是在假设高斯和线性情况下进行的。简单的卡尔曼滤波必须应用在符合高斯分布

    2022年6月16日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号