请问能用将中文编码UTF-8转换成为拉丁文吗?通过什么方法实现?好像这样是反回的只是“??”new String("中文".getBytes("ISO-8859-1"))我是想将中文转成拉丁文,谢谢各位
解决方案 »
- java如何抽取指定范围的随机数
- 被HelloWorld难住了。。。大侠指点下
- 要开发unix下运行的程序,用java合适吗?
- 问一个重写的问题还有一段代码的内存运作方式
- 这个怎么打印
- 在DOS下运行这个test.class 文件怎么会报错的?
- 如何用java解压一个zip或rar的文件
- java的package问题
- 新手的两个简单问题,100分!关注者有分!
- 为什么我用JBUILDER9做的一个applet,然后嵌入到html文件中,用JBUILDER自代的appletviewer可以打开,而用IE却打不开。
- 如何将JFreeChart中图表结合iText输出到Pdf文件中,而不用生成图片
- 菜鸟问题
拉丁文可以通过ISO-8859-1转成中文那末翻译就失业拉,呵呵
呵呵,你可以试试这个String msg = "ª÷µP©ÞÄõ¦a";
try {
msg = new String(msg.getBytes("ISO8859-1"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println("中文:"+msg);//乱码的确可以,但好象找不到逆转的方法,所以请大家帮帮忙
这种编码编不了汉字滴,即使强制编码,那么,编完以后,再解码也不会是原来的汉字(更有可能是乱码)。楼主遇到的情况,可能是用ISO-8859-1编码来承载GBK编码的汉字。
通俗点说,就是,表面上看那个byte数组里放的是ISO-8859-1编码的字符,其实,它是GBK编码的汉字。我这段代码,楼主可以参考一下。
String msg = "我是中国人";//建立一个对象做测试使用
byte [] gbk = msg.getBytes("GBK");//将字符串的GBK编码存放到字节数组中
String trans = new String(gbk,"ISO-8859-1");//将GBK编码的字符串,用ISO-8859-1编码来存放
//其实,这个时候,trans里面是乱码的东西,
//你单独用ISO-8859-1和GBK解码都无法正确显示字符串的内容。
//一般情况下,你的程序会拿到trans字符串,然后让你解码。
byte [] tmp = trans.getBytes("ISO-8859-1");//把字符串,用ISO-8859-1解码,放到byte数组当中
String str1 = new String(tmp,"GBK");//将字节数组的内容用GBK编码进行解码
String str2 = new String(tmp);//如果你的计算机默认是GBK编码,这个语句同上一句一样。代码结束。下面谈谈个人的理解。
为什么ISO-8859-1编码来传输信息?
因为,ISO-8859-1编码,把一个字节的8个bit全都占用了,
这样,无论存放什么信息,编码解码过程中一般都不会有异常抛出。
如果采用ASCII编码,就会存在问题,因为ASCII编码只用了一个字节的7bit位,
当你的信息编码用到第8个bit时,一般会抛出异常。因为正常的ASCII编码,是只用7bit滴。