Unicode转换

博客围绕Java代码中的编码问题展开,给出两段Java代码示例,提出需搞清楚outStr在程序里的编码、代码中对outStr的编码认定以及System.out.println所需编码等问题,最后表示修正outStr编码后可正常显示,并给出修改后的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JCaiBird wrote:
都快把我搞傻了,都!~ 我试了所有的法子都搞不定~

//麻烦看看这段代码会输出什么
import java.io.*;
public class x{
public static String UnicodeToGb(String s) {
String ss = null;
try{
ss = new String(s.getBytes("UTF-8"),"GBK");
}catch(UnsupportedEncodingException e){
}
return ss;
}

public static void main(String[] args){
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
}
}


你需要搞清楚的问题:

1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。


<code>
import java.io.*;
public class TestUnicode
{
public static String UnicodeToGb(String s)
{
String ss = null;
try
{
ss = new String(s.getBytes("UTF-8"),"GBK");
}
catch(UnsupportedEncodingException e)
{
e.getMessage();
}
return ss;
}

public static void main(String[] args)
{
String outStr = "za回事";
UnicodeToGb(outStr);
System.out.println(UnicodeToGb(outStr));
try
{
String outUTF=new String(UnicodeToGb(outStr).getBytes("GBK"),"UTF-8");
System.out.println(outUTF);
}
catch(Exception e)
{
e.getMessage();
}
}
}
</code>
how about this??
in fact, i really want to know what is your purpose for this??
this change has nothing meaning!!


asiainfo wrote:
你需要搞清楚的问题:

1、outStr 在程序里是什么编码(不要告诉我哪本书里说的它一定是utf8)
2、ss = new String(s.getBytes("UTF-8"),"GBK"); 里把outStr当成了什么编码
3、 System.out.println时需要的是什么编码。


谢谢楼上各位的热心帮助!~~~
的确是自己搞错了outStr的编码,经过修改终于可以正常显示了!~~

public static String ChangeCharset(String s) {
String ss = null;
try{
byte[] bytes=s.getBytes("ISO-8859-1");
ss = new String(bytes,"GBK");

} catch(UnsupportedEncodingException e){

}
return ss;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值