您的位置:首页 > 其它

多字节和Unicode编码是不可逆的

2015-09-07 12:40 239 查看
procedure TForm1.Button1Click(Sender: TObject);

var

LStr, LStr2: string;

LWideString: WideString;

LLen: Integer;

I: Integer;

begin

SetLength(LStr, 256);

for I := 1 to Length(LStr) do

LStr[I] := Char(Random(256));

SetLength(LWideString, Length(LStr));

LLen := MultiByteToWideChar(GetACP, 0, @LStr[1], Length(LStr), @LWideString[1], Length(LWideString));

SetLength(LWideString, LLen);

SetLength(LStr2, Length(LStr));

LLen := WideCharToMultiByte(GetACP, 0, @LWideString[1], Length(LWideString), @LStr2[1], Length(LStr2), nil, nil);

SetLength(LStr2, LLen);

for I := 1 to Length(LStr) do

begin

if LStr[I] <> LStr2[I] then

begin

ShowMessage('e');

end;

end;

end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: