一串字符里有GB2312和UTF8混在一起的,怎样转为Ansistring啊?
例如Idhttp.get('http://www.hnliyin.com/');
得到到是一串混合的字符串,怎样转为AnsiString啊?

解决方案 »

  1.   

    一般返回的都是同一种编码,你这种混合估计是UTF8,UTF8编码是英文占一字节,中文占2-3字节,用UTF8ToAnsi试试。
      

  2.   

    UTF8ToAnsi和UftDecode返回结果都为'';
      

  3.   

        特征有点难,就上面那个网站,断点跟踪,开头一部份是ansistring,后一部分是utf-8的,不知道怎样分哦,按长度来分,要是换别的网页,长度肯定不一样?那应该怎样去分呢?
      

  4.   

    大概看了一下,那个网站应该是被“黑”了。
    前面的是gb2312,是别人加上去的,目地是增加外链,增加PR,网上很多卖黑链的,基本就是这样,偷偷改别人的主页。不过加上去的时候没搞清原来的是UTF8还是GB2312,弄成乱码了。可以看下,“<html>”标记前面的那段"<div>"标签在网页上是看不到的。
      

  5.   

    那我该怎样去转码啊?想Get回来后,分析,现在转码都做不了,更不能做分析啦,有什么方法可以解决不?
      

  6.   

    分开转试试
    查找 charset=utf-8
    将后面的都数据用Utf8ToAnsi处理
      

  7.   

    不过查找这一串可能会更好一点'<!DOCTYPE'