请补充代码:var
F: TFileStream;
FileName: string;
...
begin
//读取十六进制文件到流 C:\测试.test
FileName := 'C:\测试.test';
F := TFileStream.Create(FileName, fmOpenRead); //将十六进制流转换成英文字符或中文字符
....
end;有劳各位给出完整的代码,谢谢!
F: TFileStream;
FileName: string;
...
begin
//读取十六进制文件到流 C:\测试.test
FileName := 'C:\测试.test';
F := TFileStream.Create(FileName, fmOpenRead); //将十六进制流转换成英文字符或中文字符
....
end;有劳各位给出完整的代码,谢谢!
var
si, so: TStream;
buffer: array[0..1023] of Byte;
rBuf: array[0..2047] of Byte;
rSize, wSize: Integer;
begin
si := TFileStream.Create('c:\测试.txt', fmOpenRead);
so := TFileStream.Create('c:\测试1.txt', fmCreate); // 转换后,保存在c:\测试1.txt
rSize := 2048;
while rSize = 2048 do
begin
rSize := si.Read(rBuf, rSize);
wSize := HexToBin(@rBuf, @buffer, rSize div 2);
so.Write(buffer, wSize);
end;
so.Free;
si.Free;
end;
si, so: TStream;
buffer: array[0..1023] of Byte;
rBuf: array[0..2047] of Byte;
rSize, wSize: Integer;
begin
si := TFileStream.Create('c:\测试.txt', fmOpenRead);
so := TFileStream.Create('c:\测试1.txt', fmCreate); // 转换后,保存在c:\测试1.txt
rSize := 2048;
while rSize = 2048 do
begin
rSize := si.Read(rBuf, rSize);
wSize := HexToBin(@rBuf, @buffer, rSize div 2);
so.Write(buffer, wSize);
end;
so.Free;
si.Free;
end;
这一段可以,不过要考虑字符串过多照成溢出的问题