Delphi XE中如何将16进制数写入MemoryStream?
如题,在XE版本下,有一字符串s:='B41E0100000001000725',该如何将这个字符串的表示的数值以16进制数形式写入MemoryStream中?问题已解决...
如题,在XE版本下,有一字符串s:='B41E0100000001000725',该如何将这个字符串的表示的数值以16进制数形式写入MemoryStream中?
问题已解决 展开
问题已解决 展开
1个回答
展开全部
写的伪代码你看思路, 部分方法可能写的不对,你看意思应该明白
var
ms: TMemoryStream;
b: Byte;
begin
s:='B41E0100000001000725';
ms:=TMemoryStream.Create;
len := len(s) / 2; // 取字符串长度
for i := 0 to len - 1
begin
b := strtoint('$' + midstr(s, i*2+1, 2); // 循环截取2位,转换为整数
ms.write(b, 1); // 写入一个字节
end;
end;
var
ms: TMemoryStream;
b: Byte;
begin
s:='B41E0100000001000725';
ms:=TMemoryStream.Create;
len := len(s) / 2; // 取字符串长度
for i := 0 to len - 1
begin
b := strtoint('$' + midstr(s, i*2+1, 2); // 循环截取2位,转换为整数
ms.write(b, 1); // 写入一个字节
end;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询