|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2023/5/30 10:54:51 |
标题: |
|
加入我的收藏 |
楼主: |
请教一下! 在TStringlist存盘成文本文件时,存为ANSI编码 而不是UFT-8编码?
谢谢先!
----------------------------------------------
tianyang |
作者: |
tuao (tuao) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2023/5/30 22:09:53 |
1楼: |
Stringlist.SaveToFile(FileName,TEncoding.ANSI)
----------------------------------------------
tuao
|
作者: |
tuao (tuao) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2023/5/30 22:15:14 |
2楼: |
以下是打开不同编码文本文件的代码(D10.4): const tfAnsi = $0000; tfUnicode = $FFFE; tfBigEndianUnicode = $FEFF; tfUtf8 = $EFBB; var fs: TfileStream; sl: tstringlist; txtformat: word;
function WordLoHiExchange(w: word): word; register; asm XCHG AL, AH end;
fs := TfileStream.Create(FileName, fmOpenRead or fmShareDenyNone); try fs.Position := 0; fs.read(txtformat, 2); txtformat := WordLoHiExchange(txtformat); sl := tstringlist.Create; fs.Position := 0; case txtformat of tfUnicode: begin sl.LoadFromStream(fs, TEncoding.Unicode); end; tfBigEndianUnicode: begin sl.LoadFromStream(fs, TEncoding.BigEndianUnicode); end; tfUtf8: begin sl.LoadFromStream(fs, TEncoding.utf8); end else begin GetMem(Pansi, fs.size); fs.read(Pansi, fs.size); b := IsUtf8Format(Pansi, fs.size); fs.Position := 0; if b then sl.LoadFromStream(fs, TEncoding.utf8) else sl.LoadFromStream(fs, TEncoding.ansi); end; end;
----------------------------------------------
tuao
|
|