关于UTF-8和GBK互转问题

一些有意思的解决方法,从网上抓到,转载过来

用new String(str.getBytes("UTF-8"),"GBK"),不能把utf-8转为gbk

方法一

URLDecoder.decode(URLEncoder.encode(str,"gbk"),"gbk"),

其中str为utf-8 String,结果被转为GBK,呵呵,很有趣。 

方法二

GBK 汉字转 UTF-8 汉字

来源:CSDN   发布会员:新书城收集整理   发布时间:2006-8-8   人气:93
 
近日做一程序,需要将不同内码的文字转换成为某一种统一编码的文字(例如将 GBK 编码的汉字转换为 UTF-8 编码的汉字)。网上关于不同内码文字处理的文章,大都是关于解决汉字乱码问题的。而我需要做的,类似于 UltraEdit 中的 convertion 中的功能。

开始时,尝试了诸如
    new String(str.getBytes("GBK"), "UTF-8");
之类的方法。对于内码转换来说,这些方法都不是正确的。这些方法,对于解决汉字显示乱码是实用的,但是并不能正确地将 GBK 汉字映射到具有相同意义的 UTF-8 汉字上去。

我们都知道,在 JVM 内部,所有的字符串都是转换成为 Unicode 编码来处理的。我们从一个 GBK 编码的文本中读取的内容,写到另外一个 UTF-8 编码的文本文件中去,并不会出现乱码的问题。似乎可以猜测到,我们可以利用 Java IO 中的 Stream 来良好的处理内码转换的问题。为了方便起见,可以借助
Apache Commons-IO 项目中提供的实用工具来编写代码。
    /* gbkString 为一 GBK 编码的字符串 */
    String utf8String = IOUtils.toString(IOUtils.toInputStream(gbkString, "UTF-8"));
utf8String
中字符,皆变为 UTF-8 编码。

附,com.apache.commons.io.IOUtils 中相关代码如下:
    /**
     * Convert the specified string to an input stream, encoded as bytes
     * using the specified character encoding.
     * <p>
     * Character encoding names can be found at
     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
     *
     * @param input the string to convert
     * @param encoding the encoding to use, null means platform default
     * @throws IOException if the encoding is invalid
     * @return an input stream
     * @since Commons IO 1.1
     */
    public static InputStream toInputStream(String input, String encoding) throws IOException {
        byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes();
        return new ByteArrayInputStream(bytes);
    }


 GB/BIG5/UTF-8 文件编码批量转换程序September 12th, 2006

GB/BIG5/UTF-8 文件编码批量转换程序昨天我需要将一个 GB 编码的 WEB 应用改变成 UTF-8 编码,整个 WEB 程序涉及 300 多个 ASP 和 HTML 文件….于是乎,我上网搜索能将 GB 文件批量转换成 UTF-8 编码的软件。找来找去,多是一些仅能在网页中实时编码的 VBS、JS 或 PHP 脚本,而没有进行大量文件编码转换的工具。

因为时间紧迫,后来只好使用最原始的办法,用 Windows 的记事本打开一个个 ASP 文件,使用“另存为…”的方式变成 UTF-8 编码。真是郁闷得要S….最后急S我了,只好再去找软件,拼了!!!

终于发现了这款很棒的GB/BIG5/UTF-8 文件编码批量转换程序,用下来感觉确实挺不错,推荐一下!

软件很小,才25KB,希望对于网站开发或者其他网页编辑人员有帮助。

下载地址:http://beebee.com.cn/jinnylife/wp-content/rar/gb2utf8.rar
解压缩密码:http://beebee.com.cn/jinnylife/

更新一个下载地址:

http://www.pc-soft.cn/download/gb2utf8.rar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值