我想逐字节读取 UTF-8 文本文件并获取文件中每个字节的 ascii 值表示。这可以做到吗?如果是这样,最好的方法是什么?
然后我的目标是用一个字节替换我找到的 2 个字节组合(这些是我准备好的设置条件)
例如,如果我发现 197 后跟 158(十进制表示),我将用单个字节 17 替换它
我不想使用标准的 delphi IO 操作
AssignFile
ReSet
ReWrite(OutFile);
ReadLn
WriteLn
CloseFile
有没有更好的方法?这可以使用TStream
(Reader & Writer) 来完成吗?
这是我正在使用的示例测试。我知道从第 84 列开始有一个字符(350)(两个字节)。在十六进制编辑器中查看时,该字符由 197 + 158 组成 - 所以我试图使用我的 delphi 代码找到 198,但似乎无法找到它
FS1:= TFileStream.Create(ParamStr1, fmOpenRead);
try
FS1.Seek(0, soBeginning);
FS1.Position:= FS1.Position + 84;
FS1.Read(B, SizeOf(B));
if ord(B) = 197 then showMessage('True') else ShowMessage('False');
finally
FS1.Free;
end;