当前位置:  开发笔记 > 编程语言 > 正文

将GB2312转换为UTF-8

如何解决《将GB2312转换为UTF-8》经验,为你挑选了1个好方法。

我有一个文本文件,其中包含当前以GB2312(简体中文)编码的本地化语言字符串,但我的所有其他语言文件都是UTF-8.我发现使用这个文件非常困难,因为我的文本编辑器都不能正常使用它并继续破坏它.有没有工具可以将其转换为UTF-8,这样做有什么缺点吗?将它保留为GB2312并使用不同的编辑器(如果是这样,你能推荐一个)会更好吗?

更新:我正在使用Windows XP(英文安装).

更新#2:我尝试使用Notepad ++和Notepad2编辑GB2312文件,但两者都无法读取文件并破坏它们.



1> Renaud Bompu..:

您可以尝试使用开源实用程序的此在线服务iconv.
您还可以在计算机上安装Charco,它的命令行版本.

对于GB2312,您可以使用CP936编码.

如果您是.Net开发人员,那么您可以制作一个可以做到这一点的小工具.
我也在努力解决这个问题,并发现从程序化的角度来看它实际上很简单.

所有你需要的是这样的东西(我测试它,它的工作原理):

在C#中

static void Main(string[] args) {
    string infile = args[0];
    string outfile = args[1];

    using (StreamReader sr = new StreamReader(infile, Encoding.GetEncoding(936))) {
        using (StreamWriter sw = new StreamWriter(outfile, false, Encoding.UTF8)) {
            sw.Write(sr.ReadToEnd());
            sw.Close();
        }
        sr.Close();
    }
}

在VB.Net中

Private Shared Sub Main(ByVal args() As String)
    Dim infile As String = args(0)
    Dim outfile As String = args(1)
    Dim sr As StreamReader = New StreamReader(infile, Encoding.GetEncoding(936))
    Dim sw As StreamWriter = New StreamWriter(outfile, false, Encoding.UTF8)
    sw.Write(sr.ReadToEnd)
    sw.Close
    sr.Close
End Sub

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有