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

星组游戏论坛

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

QQ登录

只需一步,快速开始

查看: 739|回复: 3

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

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

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-6-9 21:32:02 |显示全部楼层
乱码问题一般都是编码方式不匹配的问题,总体解决的办法如下
! _, X2 t% k6 M) @# ^) }3 [. t一、字符串编码的转换
% @& t9 q, x; H9 W3 [9 g    1、新字符串=new String(旧字符串.getByte("编码1"),"编码2");9 _5 r. u2 `- |' G* k" Q% A
    2、编码1为旧字符串的编码方式,编码2为新字符串编码方式
! t& m& m1 ]; J% e; X3 F3 n7 L二、java-Socket接受中文乱码的解决( w9 ]; a* X0 W$ j' m
    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码。7 N( v, M- ~5 e/ }' n  d! I
    当然也可以约定服务器端和客户使用相同的编码。
2 [9 u7 J$ p3 M. D3 j/ u    1、客户端发送: ) D, d. b$ N0 M' F+ S) ]) e7 R8 w
       PrintWriter pw =new PrintWriter(socket.getOutputStream());
) S! _0 ^/ C' Y- n5 R       pw.println("数据");  //这个数据可以转换成指定编码
! D# G8 y/ i/ t" x) t2 r& B       pw.flush();
' j: G/ k6 \( G1 H    2、服务器端接收
( O, g( ?% c) I4 u. ^, _      BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"编码")); //这个编码要和客户端的编码相同4 k( y3 a5 E- x- N
      br这个流就可以随便用了, o& ^& {( s, [  q* S- `
    3、也可以这样约定
% ?* O" L1 n/ b' |0 k* Y$ N       接收端:in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));8 E! k: r% F* X" l) I6 ]
       发送端:out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));  + {9 e7 i& W3 m' R
三、常用的编码方式
1 |; b  e# l. t4 E: f    1、UTF-8:汉字3字节,英文字母1字节,特殊字符2字节+ e7 U5 T; ^9 j4 c
    2、GBK:汉字2字节,英文和数字1字节0 k" n* V' i' W( M. O
    3、unicode:统一连个字节
  J) H6 X. A# p% A' y- k, @    4、iso8859-1:只支持英文,一个字节
* r1 K  J1 ?7 [, U' c- I    更详细的编码介绍参照http://www.cnblogs.com/lxzh/archive/2012/05/30/2526557.html
- O6 L* c1 l, k. J1 f- L
头像被屏蔽

禁止发言

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

禁止发言

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

禁止发言

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

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

GMT+8, 2018-6-23 02:29

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部