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
posted @   熊大熊二  阅读(146)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示