解决java socket在传输汉字时出现截断导致乱码的问题 当使用socket进行TCP数据传输时,传输的字符串会编码成字节数组,当采用utf8编码时,数字与字母长度为1个字节,而汉字一般为3个字节.这里参考 字符集之在UTF-8中,一个汉字为什么需要三个字节? - 苦涩的茶 - 博客园 (cnblogs.com) UTF-8 往事 (taoshu.in) 如果传输的字符串是数字,字符和汉字混杂.在数据的接收端,每次调用read方法接收的byte数组的长度是一定的,由于数字,字母和汉字对应的u…
ClientTcpSend.java   client发送类 package com.yjf.test; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.net.InetSocketAddress; import java.net.Socket; public class ClientTcpSend {          public static…
解决java web中safari浏览器下载后文件中文乱码问题 String fileName = "测试文件.doc"; String userAgent = request.getHeader("User-Agent").toLowerCase(); //Java下载文件时IE浏览器出现文件名乱码 // 针对IE或者以IE为内核的浏览器: if (userAgent.contains("msie") || userAgent.contains…
Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信.这样就有两个Socket了,客户端和服务端各一个. 对于Socket之间的通信其实很简单,服务端往Socket的输…
一.TCP编程     TCP协议是面向连接的.可靠地.有序的,以字节流的方式发送数据.java实现TCP通信依靠2个类:客户端的Socket类和服务器端的ServerSocket类. 基于TCP通信的Socket模型如下: Socket通信的实现步骤如下: 1.    创建服务器端Socket:ServerSocket和客户端Socket:Socket: 2.    打开连接到Socket的InputStream/OutputStream; 3.    按照协议对Socket进行读写操作: 4…
服务端server端: package com.yuan.socket; import java.io.*; import java.net.ServerSocket; import java.net.Socket; /** * Created by YUAN on 2016-09-17. */ public class TalkServer4Byte { private ServerSocket server; private int port = 5020; public TalkServe…
其实很简单,只需要把容器换成list 然后在循环中,每次循环末尾map = new HashMap() 或者直接在循环中一开始就实例化hashmap(Map map = new HashMap();),这样就不会造成map覆盖了. 注:Map map = new HashMap(); 如果是在循环场景下使用,则必须在循环中以局部实例化的方式出现,见示例2 fetchAssetsList 方法. @RequestMapping("controller/json/AssetsController/g…
JAVA中对jar文件或zip文件解压的时候,能够使用JDK内置的API:JarFile和ZipFile,在windows下解压这2种格式文件的时候,常常报下面错误: Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) at java.util.zip.ZipFile.getZipEntr…
发送数据如下: aa 02 02 00 00 00 6f 6b 02 00 00 00 55 数据是以字符数组的形式(char msg[])存储发送的,send时发送长度填写的strlen(msg), 导致发送的数据长度只有3, 打印出来是"aa 02 02". 也就是说16进制0x00后面的数据被截断. 通过百度得出资料,strlen函数以及printf函数等遇到 0x00(字符串null)会截断.…
一般情况在使用ASP.NET开发使用JavaScript有中文汉字时不会出现乱码情况,比如:alert('您看到我了吗?');这样直接输入中文汉字的代码中是不会出现乱码的,如果出现了,一是检查Web.config文件确保统一编码形式:二是设置页面的编码,如:charset=utf-8等措施,可在网上查询相关解决方案,这不是本随笔要阐述的问题.      本随笔主要讨论,有些时候用JavaScript调用了后台代码中传入的中文汉字会出现乱码,比如访问了Cookie中含有中文汉字的情况.我这里使用的…