已知有字符串‘0101001100011111010011111’
我想把它按照上面格式写在二进制文件中。如何写啊?
我只会写数字,比如 f='15',用inttohex(strtoint('$'+f), 8). 那么上面的二进制流如何写呢?
我想把它按照上面格式写在二进制文件中。如何写啊?
我只会写数字,比如 f='15',用inttohex(strtoint('$'+f), 8). 那么上面的二进制流如何写呢?
解决方案 »
- Delphi7中ADOQuery结果集
- 有关indy组件的多函数调用
- 怪怪怪!!事务处理的问题,出现一次出错后再用事务就出问题了
- 怎样读取*.udl中的数据库连接字符串啊
- c/s模式的通信问题
- 在dbgrid中如何实现象word中表格的移动??没人知道吗?
- 如何在程序起来就隐藏主窗体
- 利用RedioGroupl选择窗口用什么命令? Radiogroup1.ItemIndex决定你选择了哪个小圆点,我现在用确定按钮来选择就怎样做?
- 请教如何作一个类似于IE中的地址栏?是否有此控件?
- 我该用delphi继续我的编程?
- idhttp 提交数据的地址为UTF-8编码时是不是需要转换???
- 怎么修改注册表的值?唧唧唧……
var
f: file of Byte;
i: integer;
b: byte;
begin
AssignFile(f, 文件名);
Reset(f);
b := 0;
for i:=1 to Length(s) do
begin
b := b*2 + Ord(s[i])-Ord('0'); // 取每个字节的值
if (i mod 8)=0 then // 每个字节(8位)写一次,也可以每4个字节写一次
begin
Write( f, b );
b := 0; // 写完后重置
end;
end;
if (i mod 8)<>0 then // 如果位数不是8的倍数,需要再写一次
Write( f, b );
CloseFile( f );
end;
写入的数据就是二进制型的
楼上的应该可以解决你的问题
如果写入数据与预期的不同请注意编码顺序