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

星组游戏论坛

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

QQ登录

只需一步,快速开始

查看: 582|回复: 3

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

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

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-6-9 21:32:02 |显示全部楼层
乱码问题一般都是编码方式不匹配的问题,总体解决的办法如下# R2 I' g0 j2 o  X- c9 p' A: v& o
一、字符串编码的转换5 a) ?5 g) ]: Y/ A
    1、新字符串=new String(旧字符串.getByte("编码1"),"编码2");5 f6 c/ k6 {& Z( ^5 G0 Y
    2、编码1为旧字符串的编码方式,编码2为新字符串编码方式
) V  }% ]7 a: t# ~二、java-Socket接受中文乱码的解决# \" h, `7 h8 J7 w. N
    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码。
( \3 Z: a# W. X  Y    当然也可以约定服务器端和客户使用相同的编码。7 ]$ Q  ^' [8 G: V) o
    1、客户端发送:
% r; q+ F/ p/ c* Y, b       PrintWriter pw =new PrintWriter(socket.getOutputStream());
5 i  J( e* z/ r3 |9 K/ Y       pw.println("数据");  //这个数据可以转换成指定编码
& x( t; B% k, Y  X       pw.flush();
- _" x7 j4 b4 G9 H    2、服务器端接收
; ~( ]$ }2 i5 G; v5 {0 H) w      BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(),"编码")); //这个编码要和客户端的编码相同
. `0 X6 J; L1 ~3 N! h3 r      br这个流就可以随便用了
+ U+ a& y$ T- d/ V* z1 S! d% \    3、也可以这样约定
% O6 x8 A& G8 D, L4 p6 ]7 @! a! ?/ V- N       接收端:in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));1 m6 P' u! `3 |; r+ m$ U
       发送端:out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"));  $ j5 s- n6 {% h! H
三、常用的编码方式8 L1 W: @& I) I: j2 E- s
    1、UTF-8:汉字3字节,英文字母1字节,特殊字符2字节# W7 q- x/ o9 G4 m; P& ~$ T
    2、GBK:汉字2字节,英文和数字1字节
4 s0 a# ?: A" h9 q* X4 g    3、unicode:统一连个字节
" i+ d2 \8 S' x3 q" D+ O( e5 T( F1 k    4、iso8859-1:只支持英文,一个字节; W  d) J8 H! N& m/ \9 N
    更详细的编码介绍参照http://www.cnblogs.com/lxzh/archive/2012/05/30/2526557.html
! q3 s* U9 O0 ^8 n
头像被屏蔽

禁止发言

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, 2017-11-20 19:35

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部