• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java中string乱码解决方法介绍

java 搞java代码 3年前 (2022-05-10) 31次浏览 已收录 0个评论

java string乱码解决方法:(推荐:java视频教程)

System.out.println(str);
            String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8");
            System.out.println(str1);
            String str2 = new String(str.getBytes("gb2312"), "utf-8");
            System.out.println(str2);
            String str3 = new String(str.getBytes("gbk"), "utf-8");
            System.out.println(str3);

http://www.gaodaima.com来源gaodai#ma#com搞@代~码网搞代码

str.getBytes(charsetName);charsetName是原本字符的编码

"utf-8"是将str转换为utf-8编码。

new String(str.getBytes(“gbk”),“iso8859-1”)时

第一步:byte[] bytes=str.getBytes(“gbk”)

告诉java虚拟机将中文以“gbk”的方式转换为字节数组。一个汉字对应两个字节。

对应的第二步便是:

String s=new String(bytes,“iso8859-1”)时,此时是将每1字节组装成一个“?” 。此时的s是若干个“?”,我们可以把“?”看做是一种特殊的汉字,它代表的信息并没有损失是可以还原回来的。

java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组。

声明

以下是java.lang.String.getBytes()方法的声明

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException

参数:charset — 这是一个支持的字符集的名称。

返回值:此方法返回得到的字节数组。

new String(byte[],decode)方法

与getBytes相对的,可以通过new String(byte[], decode)的方式来还原这个"中"字,

这个new String(byte[],decode)实际是使用指定的编码decode来将byte[]解析成字符串.

异常:UnsupportedEncodingException — 如果不支持指定的字符集。

更多java知识请关注java基础教程栏目。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java中string乱码解决方法介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址