又是编码问题


这两天又想动手修改象棋演播室(XQStudio)的delphi代码,由于代码是用老旧的delphi 5.0编写的,不支持unicode,很多汉字都成了乱码。比如dfm文件里这样一串字符:#191#170#202#188#178#165#183#197

用下面的代码可以得到正确的中文字符:

            string str = "#191#170#202#188#178#165#183#197";
            string[] strs = str.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);
            List lchar = new List();
            foreach (string s in strs)
            {
                lchar.Add((byte)Int32.Parse(s));
            }
            var newName = Encoding.GetEncoding("gb2312").GetString(lchar.ToArray());