delphi下unicodestring 编码为utf-8 RawByteString转换为ansistring

发布时间 2023-03-25 21:54:23作者: 熊大熊二
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