如何用Delphi把一个用UniCode 或者 UTF-8编码的文件转化为用ASCII编码?(100分)

  • 主题发起人 主题发起人 cool_niur
  • 开始时间 开始时间
C

cool_niur

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用Delphi把一个用UniCode 或者 UTF-8编码的文件转化为用ASCII编码?
是不是要用到WideCharToString?具体怎么操作?
谢谢!
 
没有人知道么?[?]
就像UltraEdit32中的Converstaions功能
 
自动的,把一个widestring或者pwidechar赋给一个string就可以了
 
能不能具体一些?我想转化文件的编码。[?]
 
很简单啊,你可以把文件读到一个buffer中然后把一个pwchar指向这个buffer
然后把这个pwchar赋值给一个字符串这样就可以转换了
 
那么应该用什么方法读呢?TFileStream.ReadBuffer(buffer, count) 还是 AssignFile(f, Filename) 然后 Read(f, buffer)?
 
有没有人能给出一个详细的源码呢?
 
好了,我已经知道了。
var
buffer: WideChar;
f: file of WideChar;
str: string;
begin
assignfile(f, 'test.txt');
reset(f);
read(f, buffer)
// 跳过unicode开头的标记FF FE
while not eof(f) do
begin
read(f, buffer);
str:= str + buffer;
end;
closefile(f)

end;
 
不过仍然谢谢Tassadar!:)
 
可是这样只能读unicode的文件,怎么才能读UTF-8格式的呢?
 
基本上一样,看看这几种类型PUCS4Char, UCS4Char, UCS4String
看错了,你可以用下面的函数
function UTF8Decode(const S: UTF8String): WideString;
 
后退
顶部