S := UTF8Decode(DecodeString('InByb3ZpbmNlIjoi5bm/5Lic55yBIi'));
代碼很簡單,如果是在這個在線網站
http://bbs.tc711.com/tc711/tool/base64_gb2312.php
出來的結果是 "province":"廣東省"
但是我用上面的代碼在XE5中執行 結果如圖

望高手解惑
uj5u.com熱心網友回復:
我有封裝了兩個函式,base64加密和解密"province":"廣東省" 正常base64編碼應該是以下值:
InByb3ZpbmNlIjoi5bm/5Lic55yBIg==
class function TSMEncrypt.Base64Encode(const input: string; Encoding: TEncoding): string;
var
InStr, OutStr: TStringStream;
begin
InStr := TStringStream.Create(Input, Encoding);
try
OutStr := TStringStream.Create('');
try
EncodeStream(InStr, OutStr);
Result := OutStr.DataString;
finally
OutStr.Free;
end;
finally
InStr.Free;
end;
end;
class function TSMEncrypt.Base64Decode(const input: string; Encoding: TEncoding): string;
var
InStr, OutStr: TStringStream;
begin
InStr := TStringStream.Create(Input);
try
OutStr := TStringStream.Create('', Encoding);
try
DecodeStream(InStr, OutStr);
Result := OutStr.DataString;
finally
OutStr.Free;
end;
finally
InStr.Free;
end;
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64632.html
標籤:語言基礎/算法/系統設計
