久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java中socket中文亂碼怎么解決

155次閱讀
沒有評論

共計 1344 個字符,預計需要花費 4 分鐘才能閱讀完成。

在 Java 中解決 Socket 中文亂碼問題可以使用以下方法:

  1. 使用 InputStreamReader 和 OutputStreamWriter 來處理字符流,可以指定字符編碼方式。在發送和接收數據時,可以使用指定的字符編碼方式進行解碼和編碼。
Socket socket = new Socket("localhost", 8080);
OutputStream outputStream = socket.getOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, "UTF-8");
outputStreamWriter.write(" 你好 ");
outputStreamWriter.flush();

InputStream inputStream = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
char[] buffer = new char[1024];
int length = inputStreamReader.read(buffer);
System.out.println(new String(buffer, 0, length));
  1. 在發送和接收數據時,使用 getBytes() 方法和指定的字符編碼方式進行編碼和解碼。
Socket socket = new Socket("localhost", 8080);
OutputStream outputStream = socket.getOutputStream();
outputStream.write(" 你好 ".getBytes("UTF-8"));
outputStream.flush();

InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int length = inputStream.read(buffer);
System.out.println(new String(buffer, 0, length, "UTF-8"));
  1. 在服務器端設置字符編碼方式。
ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();

InputStream inputStream = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
char[] buffer = new char[1024];
int length = inputStreamReader.read(buffer);
System.out.println(new String(buffer, 0, length));

注意:在上述代碼中,要確保發送和接收數據的編碼方式一致,常用的編碼方式有 UTF- 8 和 GBK。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-13發表,共計1344字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 荔波县| 天水市| 浮梁县| 昭通市| 如皋市| 高密市| 临洮县| 海南省| 泽州县| 临西县| 平罗县| 聂拉木县| 江川县| 广德县| 安义县| 凯里市| 晋中市| 射阳县| 三都| 苏尼特右旗| 祁门县| 桂林市| 和林格尔县| 云南省| 越西县| 定兴县| 丰宁| 广宗县| 天气| 商都县| 锦州市| 磴口县| 盈江县| 翁源县| 西林县| 铁岭市| 巴中市| 辉县市| 承德市| 安岳县| 朝阳区|