今天又遇到一个问题 #0 #0 #0 char 如何转换成 string ? 而且string 还要可以ASCII hex 的形式显示出来.弄来弄去总是没有显示. function StrToHexStr(const S: string): string;
var
I:Dword;
begin
for I := 1 to Length(S) do
begin
Result := Result + IntToHex(Ord(S[I]), 2)+ ' ' ;
end;
end;向大家请教如何解决.
var
I:Dword;
begin
for I := 1 to Length(S) do
begin
Result := Result + IntToHex(Ord(S[I]), 2)+ ' ' ;
end;
end;向大家请教如何解决.
我是想问:假如
a:array[0..5] of char;
s:string;a[0]:=#0
a[1]:=#52
a[2]:=#32
a[3]:=#0
a[4]:=#6
a[5]:=#9我如何才能把它变成一个string 使其中的#0 可以得以保留, 还可以通过Hex格式显示出来
a:array[0..5] of char;
s:string;
i,j:integer;
begin
a[0]:=#0 ;
a[1]:=#52;
a[2]:=#32;
a[3]:=#0 ;
a[4]:=#6 ;
a[5]:=#9 ;
SetLength(s , High(a)-Low(a)+1);
j := 0;
for i:=Low(a) to High(a) do
begin
j := j + 1;
s[j] := a[i];
end;
ShowMessage(IntToStr(Length(s)));
end;
你在中间插入#0,字符串当然就结束.......c_c
+
Move 也可以
str: string;
begin
setlength(str,10);
fillchar(pchar(str)^,length(str),#0);
ShowMessage(StrToHexStr(str));
str[1]:=#0;
str[2]:=#0;
str[3]:=#0;