怎么将String转换成byte数组啊?

xmasxp 2008-11-27 03:35:43
我截取到一个封包想把他发送出去,请问怎么转换成16进制byte数组发送呢
var
Str:String;
Byt: array [1..6] of byte;
Begin
Str:='485454502F31';//这个是截取回来的封包,把空格去掉了
{怎么将上面的字符串转换成下面的数组格式呢}
Byt[0]:=$48;
Byt[1]:=$54;
Byt[2]:=$54;
Byt[3]:=$50;
Byt[4]:=$2F;
Byt[5]:=$31;
End;
...全文
399 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudy8076 2012-06-12
  • 打赏
  • 举报
回复
这个怎么实现呀
android2008 2008-11-30
  • 打赏
  • 举报
回复
不懂,up
僵哥 2008-11-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mwy654321 的回复:]
放到BYTE数组里面,被编译器一搞,比做到资源里面要保密的多。EXE以BYTE来存放比较常见,如果你硬是放到其它类型的数组里面当然可以。
[/Quote]
数据和数据结构,在你的概念里还不清晰
无条件为你 2008-11-30
  • 打赏
  • 举报
回复
放到BYTE数组里面,被编译器一搞,比做到资源里面要保密的多。EXE以BYTE来存放比较常见,如果你硬是放到其它类型的数组里面当然可以。
UndefinedCoder 2008-11-29
  • 打赏
  • 举报
回复
同意楼上
僵哥 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mwy654321 的回复:]
byte数组可以用来动态生成EXE,很好用的一个类型。
[/Quote]
不知所云
僵哥 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mwy654321 的回复:]
引用 6 楼 unsigned 的回复:
不知所云


外部的一个exe文件,把它引用到自己的程序中,可以用RES文件来做,用的时候释放就可以了,但它有一个致命的缺点:如果别人用资源查看器查看你程序的PE结构,就可以把你包含进来的EXE提出来。这显然很不爽!

最巧妙的办法是将外部的EXE以BYTE数组变量来定义,这样的话,程序需要执行这个EXE的时候只需要执行这个变量就可以了,如果不想执行仅想释放还原成原来的EXE,将这个变量以…
[/Quote]
放到Byte数组就查不出来了?你这也叫使用Byte数组动态生成EXE?这跟Byte数组没有任何关系吧?使用char array行不行?EXE都是有对齐的,使用Word Array行不行?Integer Array呢?LongWord Array呢?
无条件为你 2008-11-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 unsigned 的回复:]
不知所云
[/Quote]

外部的一个exe文件,把它引用到自己的程序中,可以用RES文件来做,用的时候释放就可以了,但它有一个致命的缺点:如果别人用资源查看器查看你程序的PE结构,就可以把你包含进来的EXE提出来。这显然很不爽!

最巧妙的办法是将外部的EXE以BYTE数组变量来定义,这样的话,程序需要执行这个EXE的时候只需要执行这个变量就可以了,如果不想执行仅想释放还原成原来的EXE,将这个变量以BYTE存成PE结构就可以了。

这部分代码比较复杂,我已经实现。题外话,与楼主的问题无关。呵呵。
无条件为你 2008-11-28
  • 打赏
  • 举报
回复
byte数组可以用来动态生成EXE,很好用的一个类型。
SonicX 2008-11-28
  • 打赏
  • 举报
回复
Str:='485454502F31';
move(str[1],byt[0],sizeof(byt));
silvernii 2008-11-27
  • 打赏
  • 举报
回复
for i:=1 to 6 do
Byt[i]:=strtoint('0x'+copy(str,i*2-1,2));
bdmh 2008-11-27
  • 打赏
  • 举报
回复
var
Str:String;
Byt: array [0..5] of byte;
Begin
Str:='485454502F31';
Byt[0]:=byte(Str[1]);
Byt[1]:=byte(Str[2]);
Byt[2]:=byte(Str[3]);
Byt[3]:=byte(Str[4]);
Byt[4]:=byte(Str[5]);
End;
僵哥 2008-11-27
  • 打赏
  • 举报
回复
HexToBin(PChar(Str),PChar(@Byt[0]),Length(Str));

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧