字符串转换问题

sunnysmile 2005-11-16 03:57:43
现有一字符串'1b04fd67...12e4',现要取每个字符的asc码转换成一个整形数组,结果应该是
buf[1]:=$31,buf[2]:=$42,buf[3]:=$30,buf[4]:=$34,buf[5]:=$46,buf[1]:=$44,....
请大家给个方法,谢谢!
...全文
145 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色光芒 2005-11-16
  • 打赏
  • 举报
回复
更真刚才的
//到这里时,buf[0]:=$31,buf[1]:=$42,buf[2]:=$30,buf[3]:=$34,buf[4]:=

直接用PChar也行
Buf : PChar;
Buf := PChar(S);

buf[0]:=$31,buf[1]:=$42,buf[2]:=$30,buf[3]:=$34,buf[4]:=

蓝色光芒 2005-11-16
  • 打赏
  • 举报
回复
var
Buf : array of Byte;
S ; String;
begin
S := '1b04fd67...12e4';
SetLength(Buf,Length(S));
CopyMemory(@Buf,@S[1],Length(S));
//到这里时,buf[1]:=$31,buf[2]:=$42,buf[3]:=$30,buf[4]:=$34,buf[5]:=
end;
g961681 2005-11-16
  • 打赏
  • 举报
回复
procedure TfrmMain.Button1Click(Sender: TObject);
var
i: Integer;
s: TIntArray;
begin
s := StringToArray(Edit1.Text);
for i := 0 to Length(s) - 1 do
begin
ListBox1.Items.Add(IntToStr(s[i]) + '|' + char(s[i]));
end;
end;
测试调用过程!
g961681 2005-11-16
  • 打赏
  • 举报
回复
随便写了个,但好象有点问题,但更正了,能达到目的。
unit unitStringToArray;

interface

uses
SysUtils;

type
TIntArray = array of Integer;

function StringToArray(AString: String): TIntArray;

implementation

function StringToArray(AString: String): TIntArray;
var
i: Integer;
begin
SetLength(Result, Length(AString) + 1);
for i := 0 to Length(AString) - 1 do
Result[i] := ord(AString[i]);
end;

end.

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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