设为首页收藏本站
机战Z2破界篇 星组汉化 下载

星组游戏论坛

 找回密码
 注册(QQ注册+邀请注册)

QQ登录

只需一步,快速开始

查看: 631|回复: 3

[心得] 关于java乱码的总结 [复制链接]

Rank: 11Rank: 11Rank: 11Rank: 11

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-6-9 21:32:02 |显示全部楼层
乱码问题一般都是编码方式不匹配的问题,总体解决的办法如下
. a$ S6 I& e7 E4 [1 C* B& b一、字符串编码的转换8 y8 B+ V7 V9 n# v
    1、新字符串=new String(旧字符串.getByte("编码1"),"编码2");
) q+ }  B! k8 A) X    2、编码1为旧字符串的编码方式,编码2为新字符串编码方式2 ?6 v5 E) y3 A; F9 g" R
二、java-Socket接受中文乱码的解决3 @  r9 h: Y5 Y/ W0 n: P+ |
    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码。
) e  Y; W, L- {5 T    当然也可以约定服务器端和客户使用相同的编码。; y: y  s2 u3 k1 P: R$ u/ j# q
    1、客户端发送:
0 w+ |7 n( r0 m, L. @) N6 O) e+ D       PrintWriter pw =new PrintWriter(socket.getOutputStream());7 q, j" p1 w& `
       pw.println("数据");  //这个数据可以转换成指定编码 5 E+ T8 g/ Q" a9 [
       pw.flush();
, p+ U4 x; ?) f  }; \5 e8 g7 ^    2、服务器端接收
' e: k: K' [; M; i6 P* ^" v$ }      BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"编码")); //这个编码要和客户端的编码相同2 t9 N# L* }' H, U" O
      br这个流就可以随便用了% r3 h" v. ]$ o7 D: N4 D
    3、也可以这样约定5 t! V- u5 ?* Q5 p# L7 I- c
       接收端:in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
; e0 |  V3 a% L$ E) y# @       发送端:out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));  
) R# e8 a/ L+ a& X三、常用的编码方式8 `* u: v  i3 X5 u
    1、UTF-8:汉字3字节,英文字母1字节,特殊字符2字节
8 R4 }- _8 L" K# R; |, O    2、GBK:汉字2字节,英文和数字1字节- F% t( G: H+ a: K8 \( M
    3、unicode:统一连个字节! ^, }0 u! c) X1 e
    4、iso8859-1:只支持英文,一个字节
& R: g. Y5 R0 U$ V6 L+ _, V7 g    更详细的编码介绍参照http://www.cnblogs.com/lxzh/archive/2012/05/30/2526557.html+ J- l7 W* a9 ?  i6 p( W
头像被屏蔽

禁止发言

UID
115225
星币
59
积分
350
阅读权限
0
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-6-12 18:40:54 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

禁止发言

UID
115225
星币
59
积分
350
阅读权限
0
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-9-27 15:11:58 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

禁止发言

UID
115225
星币
59
积分
350
阅读权限
0
注册时间
2016-7-25
最后登录
2017-10-24
发表于 2017-10-21 16:15:48 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

Archiver|星组游戏论坛 ( 京公网安备110403080002 )  

GMT+8, 2018-1-17 13:26

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部