我有一个文本文件,其中包含当前以GB2312(简体中文)编码的本地化语言字符串,但我的所有其他语言文件都是UTF-8.我发现使用这个文件非常困难,因为我的文本编辑器都不能正常使用它并继续破坏它.有没有工具可以将其转换为UTF-8,这样做有什么缺点吗?将它保留为GB2312并使用不同的编辑器(如果是这样,你能推荐一个)会更好吗?
更新:我正在使用Windows XP(英文安装).
更新#2:我尝试使用Notepad ++和Notepad2编辑GB2312文件,但两者都无法读取文件并破坏它们.
您可以尝试使用开源实用程序的此在线服务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