Data conversion 将原始位写入Lazarus中的文件

Data conversion 将原始位写入Lazarus中的文件,data-conversion,freepascal,lazarus,Data Conversion,Freepascal,Lazarus,假设我生成了一个随机排列的1和0字符串。 如果我将所述字符串写入文件,它将被写入ANSI字符串,这不是我想要做的。我想将字符串中的1和0写为原始位。如何实现这一点?您可以逐个字符迭代输入字符串,并将每个“0”替换为#0,将每个“1”替换为#1 或者,可以从每个字符中减去字符“0”的序数值,并将结果转换回char。“0”的结果为#0,或“1”的结果为#1 SetLength(s, Length(txt)); for i := 1 to Length(txt) do s[i] := char(o

假设我生成了一个随机排列的1和0字符串。
如果我将所述字符串写入文件,它将被写入ANSI字符串,这不是我想要做的。我想将字符串中的1和0写为原始位。如何实现这一点?

您可以逐个字符迭代输入字符串,并将每个“0”替换为#0,将每个“1”替换为#1

或者,可以从每个字符中减去字符“0”的序数值,并将结果转换回char。“0”的结果为#0,或“1”的结果为#1

SetLength(s, Length(txt));
for i := 1 to Length(txt) do
  s[i] := char(ord(txt[i]) - ord('0'));

大家好,欢迎来到SO。请花时间阅读本节,以了解如何发布一个好问题,以便社区能够帮助您。请编辑您的帖子,并添加一个和您可能得到的任何错误或日志。
SetLength(s, Length(txt));
for i := 1 to Length(txt) do
  s[i] := char(ord(txt[i]) - ord('0'));