delphi下unicodestring 編碼為utf-8 RawByteString轉換為ansistring
delphi下unicodestring 編碼為utf-8 RawByteString轉換為ansistring
ufo2006
于 2018-06-14 23:01:09 發布 4453
收藏 2
分類專欄: 軟件開發
版權
軟件開發 專欄收錄該內容
41 篇文章 1 訂閱
訂閱專欄
delphi在新版本的字符串默認編碼都是unicode編碼,但有些場合需要使用utf-8編碼后的ansistring,比如常用的aes加密。
在delphi2010下有個函數可以使用
如果字符串大小不超過256個字符的,可以直接使用UTF8EncodeToShortString,返回值為utf-8編碼的ansistring
如果更多的字符內容,那么使用Utf8Encode函數,返回值為RawByteString,可直接復制為ansistring
function aes_encrypt(const s: string): string;
var ss: ansistring;
ww: RawByteString;
begin
ww:= Utf8Encode(s); //編碼為utf-8
SetString(ss, PAnsiChar(ww), Length(ww)); //復制為ansistring
result:= EncryptString(ss,'0000000000000001'); //自定義aes cbc加密
end;
————————————————
版權聲明:本文為CSDN博主「ufo2006」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ufo2006/article/details/80699221
ufo2006
于 2018-06-14 23:01:09 發布 4453
收藏 2
分類專欄: 軟件開發
版權
軟件開發 專欄收錄該內容
41 篇文章 1 訂閱
訂閱專欄
delphi在新版本的字符串默認編碼都是unicode編碼,但有些場合需要使用utf-8編碼后的ansistring,比如常用的aes加密。
在delphi2010下有個函數可以使用
如果字符串大小不超過256個字符的,可以直接使用UTF8EncodeToShortString,返回值為utf-8編碼的ansistring
如果更多的字符內容,那么使用Utf8Encode函數,返回值為RawByteString,可直接復制為ansistring
function aes_encrypt(const s: string): string;
var ss: ansistring;
ww: RawByteString;
begin
ww:= Utf8Encode(s); //編碼為utf-8
SetString(ss, PAnsiChar(ww), Length(ww)); //復制為ansistring
result:= EncryptString(ss,'0000000000000001'); //自定義aes cbc加密
end;
————————————————
版權聲明:本文為CSDN博主「ufo2006」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ufo2006/article/details/80699221

浙公網安備 33010602011771號