黑马程序员技术交流社区

标题: java中GBK编码格式转成UTF8,用一段方法实现怎么做? [打印本页]

作者: 黑马王俊东    时间: 2012-7-18 15:50
标题: java中GBK编码格式转成UTF8,用一段方法实现怎么做?
本帖最后由 黑马王俊东 于 2012-7-27 12:46 编辑

传进原始gbk字符串,返回出去的是转成UTF8之后的字符串

作者: 袁錦泰    时间: 2012-7-18 15:54
提示:
String
public String(byte[] bytes,
              Charset charset)通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。
此方法总是使用此字符集的默认替代字符串替代错误输入和不可映射字符序列。如果需要对解码过程进行更多控制,则应该使用 CharsetDecoder 类。


参数:
bytes - 要解码为字符的 byte
charset - 要用来解码 bytes 的 charset
从以下版本开始:
1.6

作者: 袁錦泰    时间: 2012-7-18 15:54
提示:
String
public String(byte[] bytes,
              Charset charset)通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。
此方法总是使用此字符集的默认替代字符串替代错误输入和不可映射字符序列。如果需要对解码过程进行更多控制,则应该使用 CharsetDecoder 类。


参数:
bytes - 要解码为字符的 byte
charset - 要用来解码 bytes 的 charset
从以下版本开始:
1.6

作者: 黑马王俊东    时间: 2012-7-18 16:03
袁錦泰 发表于 2012-7-18 15:54
提示:
String
public String(byte[] bytes,

谢谢,我试试。
String UTF-8= "UTF-8";
String changeCharset(String oldStr,String charset){
          return new String( oldStr.getBytes(),charset);
}
这个怎么样?
作者: 袁錦泰    时间: 2012-7-18 16:13
黑马王俊东 发表于 2012-7-18 16:03
谢谢,我试试。
String UTF-8= "UTF-8";
String changeCharset(String oldStr,String charset){

從格式上面看應該是正確的,不過需要你自己用代碼去驗證.如果得到你想要的結果記得也通知我一下.
作者: 程潇    时间: 2012-7-18 16:19
以前在开发中碰到过这个问题,你试试下面这个
public String changeCharsetFromGBKToUTF8(String stringGBK){
        return new String(stringGBK.getBytes("GBK"),"utf-8");
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2