delphi新手求助~急~!在线等!怎样把array转string?
展开全部
如果是 带中文的String 转byte
function UniCode2GB(S: string): string;
var I: Integer;
begin
I := Length(S);
while I >= 4 do begin
try
Result := WideChar(StrToInt('$' + S[I - 3] + S[I - 2] + S[I - 1] + S[I])) + Result;
except end;
I := I - 4;
end;
end;
function GB2UniCode(GB: string): string;
var
s: string;
i, j, k: integer;
a: array[1..160] of char;
begin
s := '';
StringToWideChar(GB, @(a[1]), 500);
i := 1;
while ((a[i] <腔磨> #0) or (a[i + 1] <> #0)) do begin
j := Integer(a[i]);
k := Integer(a[i + 1]);
s := s + Copy(Format('%X ', [k * $100 + j + $10000]), 2, 4);
//S := S + Char(k)+Char(j);
i := i + 2;
end;
Result := s;
end;
var
s1,name:string;
ByteArr: array of byte;
s1 := GB2UniCode(‘张飒www’);
for I := 0 to round(Length(s1) / 2) - 1 do //以下是转悔圆逗string byte array
begin
ByteArr[I] := StrToint('$' + SubStr(s1, I * 2 + 1, 2));
end;
for I := 0 to len do //以下是byte array 转 string 支持中文
begin
Name := Name + IntToHex(ByteArr[I], 2);
end;
Name := UniCode2GB(Name);
以上是带中文的碧卖string 转 byte array 和 byte array 转 String
同样可以支持不带中文的string 和array转换
function UniCode2GB(S: string): string;
var I: Integer;
begin
I := Length(S);
while I >= 4 do begin
try
Result := WideChar(StrToInt('$' + S[I - 3] + S[I - 2] + S[I - 1] + S[I])) + Result;
except end;
I := I - 4;
end;
end;
function GB2UniCode(GB: string): string;
var
s: string;
i, j, k: integer;
a: array[1..160] of char;
begin
s := '';
StringToWideChar(GB, @(a[1]), 500);
i := 1;
while ((a[i] <腔磨> #0) or (a[i + 1] <> #0)) do begin
j := Integer(a[i]);
k := Integer(a[i + 1]);
s := s + Copy(Format('%X ', [k * $100 + j + $10000]), 2, 4);
//S := S + Char(k)+Char(j);
i := i + 2;
end;
Result := s;
end;
var
s1,name:string;
ByteArr: array of byte;
s1 := GB2UniCode(‘张飒www’);
for I := 0 to round(Length(s1) / 2) - 1 do //以下是转悔圆逗string byte array
begin
ByteArr[I] := StrToint('$' + SubStr(s1, I * 2 + 1, 2));
end;
for I := 0 to len do //以下是byte array 转 string 支持中文
begin
Name := Name + IntToHex(ByteArr[I], 2);
end;
Name := UniCode2GB(Name);
以上是带中文的碧卖string 转 byte array 和 byte array 转 String
同样可以支持不带中文的string 和array转换
展开全部
没有现成的函枣核蔽数凳州。
procedure TForm1.Button1Click(Sender: TObject);
var
aa : array[0..2] of byte;
i: integer;
begin
edit1.Text := '氏塌';
aa[0] := 1;
aa[1] := 2;
aa[2] := 88;
for i:=0 to 2 do
edit1.Text := edit1.Text + inttostr(aa[i]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
aa : array[0..2] of byte;
i: integer;
begin
edit1.Text := '氏塌';
aa[0] := 1;
aa[1] := 2;
aa[2] := 88;
for i:=0 to 2 do
edit1.Text := edit1.Text + inttostr(aa[i]);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
str : string;
arr : array[0..15] of char;
1、差则薯虚者盯闹
str := pchar(@arr[0]);
2、
for i := 0 to 15 do
begin
str := str + arr[i];
end;
arr : array[0..15] of char;
1、差则薯虚者盯闹
str := pchar(@arr[0]);
2、
for i := 0 to 15 do
begin
str := str + arr[i];
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取出数组的地址,然后用string的指针指向那个地址,然后读取string指针里面的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询