Unicode问题 str:=#0+'9'+#0+'5'+#0+'8'+'~'+#207+'m'+'N' 在线等待。。(100分)

  • 主题发起人 主题发起人 syy_sxd
  • 开始时间 开始时间
S

syy_sxd

Unregistered / Unconfirmed
GUEST, unregistred user!
str:=#0+'9'+#0+'1'+#0+'8'+'~'+#207+'m'+'N' 是 '918经济'的unicode
请问怎么转换成普通的char编码
 
function UnicodeToString(UnicodeStr: string): string;
function SwapHL(value: string): string;
Var
I:Integer;
begin
Result := '';
for i := 1 to Length(Value) do
if ((i mod 2) = 0) then
begin
Result := Result + Value;
Result := Result + Value[i - 1];
end;
end;
begin
Result := PWideChar(SwapHL(UnicodeStr));
end;

......
str := #0 + '9' + #0 + '1' + #0 + '8' + '~' + #207 + 'm' + 'N';
Showmessage(UnicodeToString(Str));
 
to wr960204
str:=#0+'9'+#0+'1'+#0+'8'+'~'+#207+'m'+'N'是一个数组
str:array [0..10 - 1] of Char;转换成普通的char编码也是数组类型
请指教
 
function UnicodeToString(UnicodeStr: string): string;

function SwapHL(value: string): string;
var
I : Integer;
begin
Result := '';
for i := 1 to Length(Value) do
if ((i mod 2) = 0) then
begin
Result := Result + Value;
Result := Result + Value[i - 1];
end;
end;
begin
Result := PWideChar(SwapHL(UnicodeStr));
end;

procedure UniCodeArrayToChar(iarr: array of char
var oarr: array of char);
var
Str : string;
L : Integer;
begin
L := Length(iarr);
SetLength(Str, L);
CopyMemory(@Str[1], @iarr[0], L);
Str := UnicodeToString(str);
CopyMemory(@oarr[0], @Str[1], L);
end;


。。。。

var
Q, r : array[0..9] of char;
begin
q[0] := #0;
q[1] := '9';
q[2] := #0;
q[3] := '1';
q[4] := #0;
q[5] := '8';
q[6] := '~';
q[7] := #207;
q[8] := 'm';
q[9] := 'N';
UniCodeArrayToChar(q, r);
showmessage(r);
end;
 
接受答案了.
 
能帮助把这段代码用C++BUILDER写吗?
 
后退
顶部