全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2816
推到 Plurk!
推到 Facebook!

D6的Utf8Decode不能还原Utf8Encode的资料?

答題得分者是:RaynorPao
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-15 11:51:31 IP:218.1.xxx.xxx 未訂閱
我用Utf8Encode编码的资料,用Utf8Decode不能正确还原,难道是Delphi的Bug吗? 对一般的资料,如简单的几个汉字等,可以,但请用各位我的资料档测试一下: http://delphi.ktop.com.tw/loadfile.php?TOPICID=10639509&CC=237951
procedure TForm1.Button5Click(Sender: TObject);
var
  MS:TMemoryStream;
  s,s2:string;
begin
  MS:=TMemoryStream.Create;
  try
    MS.LoadFromFile('D:\wxh\pas_write_ansi.txt');
    SetLength(s,MS.Size);
    Move(MS.Memory^,S[1],MS.Size);
    s2:=Utf8Encode(s);
    s:=Utf8Decode(s2);
    MS.Clear;
    MS.Write(s[1],Length(s));
    MS.Position:=0;
    MS.SaveToFile('D:\wxh\pas_write_ansi2.txt');
  finally
    MS.Free;
  end;
end;
然后用UltraEdit来查看两个文件,会不一样!? 还是说,这种乱七八糟的资料不能用Utf8Encode/Utf8Decode来处理? 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-15 20:25:14 IP:61.221.xxx.xxx 未訂閱
引言: 我用Utf8Encode编码的资料,用Utf8Decode不能正确还原,难道是Delphi的Bug吗? 对一般的资料,如简单的几个汉字等,可以,但请用各位我的资料档测试一下: http://delphi.ktop.com.tw/loadfile.php?TOPICID=10639509&CC=237951
procedure TForm1.Button5Click(Sender: TObject);
var
  MS:TMemoryStream;
  s,s2:string;
begin
  MS:=TMemoryStream.Create;
  try
    MS.LoadFromFile('D:\wxh\pas_write_ansi.txt');
    SetLength(s,MS.Size);
    Move(MS.Memory^,S[1],MS.Size);
    s2:=Utf8Encode(s);
    s:=Utf8Decode(s2);
    MS.Clear;
    MS.Write(s[1],Length(s));
    MS.Position:=0;
    MS.SaveToFile('D:\wxh\pas_write_ansi2.txt');
  finally
    MS.Free;
  end;
end;
然后用UltraEdit来查看两个文件,会不一样!? 还是说,这种乱七八糟的资料不能用Utf8Encode/Utf8Decode来处理? 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
mustapha.wang 你好:
(1)我不太清楚你要轉換的資料內容是什麼??
( >
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-16 08:46:51 IP:218.1.xxx.xxx 未訂閱
引言: (1)我不太清楚你要轉換的資料內容是什麼?? ( > < face="Verdana, Arial, Helvetica"> 我的资料是资料库里的Blob栏位的资料,也就是没有什么编码的,"乱七八糟", 现在用TWriter.WriteString来写,Delphi6/7会用Utf8Encode来转,用TReader.ReadString来读出时,Delphi6/7会用Utf8Decode来转回,然后就发现没有正确转回。 那么,就是 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10543105&CC=235795"> 久病成良医--多试 千人之诺诺,不如一士之谔谔--兼听
------
江上何人初见月,江月何年初照人
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-16 23:07:54 IP:61.221.xxx.xxx 未訂閱
引言: 我的资料是资料库里的Blob栏位的资料,也就是没有什么编码的,"乱七八糟", 现在用TWriter.WriteString来写,Delphi6/7会用Utf8Encode来转,用TReader.ReadString来读出时,Delphi6/7会用Utf8Decode来转回,然后就发现没有正确转回。 那么,就是>< face="Verdana, Arial, Helvetica"> mustapha.wang 你好: 是的,這兩個 function 只能轉換 UNICODE, UTF8 的編碼資料 --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-05-18 17:57:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!