d7 ansi和unicode相互转换

d7 ansi和unicode相互转换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ansi转Unicode
 
function AnsiToUnicode(Str: String): WideString;
  var
    LWideChar: PWideChar;
    Len: Integer;
  begin
    Len := (Length(Str) + 1) * 2;
    GetMem(LWideChar, Len);
    ZeroMemory(LWideChar, Len);
  
    MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Str), Length(Str), LWideChar, Len);
    Result := LWideChar;
    FreeMem(LWideChar);
  end;

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Unicode转Ansi
function UnicodeToAnsi(s:WideString):string;
  var
    lpChar:PChar;
    len:integer;
    begin
    len := Length(s) * 2;
    GetMem(lpChar,len);
    ZeroMemory(lpChar, len);
    WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, PWideChar(s),
    Length(s),lpChar,Len, nil, nil );
  
    Result := lpChar;
    FreeMem(lpChar);
  end;

  

posted @   delphi中间件  阅读(327)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2020-07-14 异步任务调度二
2019-07-14 咏南中间件和开发框架全面支持DELPHI10.3.2
2019-07-14 DELPHI10.3.2安卓SDK安装
2016-07-14 匿名方法实现多线程同步到主线程执行
2016-07-14 DELPHI跨平台的临界替代者
2014-07-14 excel 的一些操作
点击右上角即可分享
微信分享提示