-
Delphi实现AnsiString与WideString的转换函数 转
分类: Delphi2013-01-26 16:23 460人阅读 收藏 举报
- 在Delphi下,AnsiString 和 WideString 的存储与管理各有不同,这里提供互相转换的函数一对。
-
- function WideStringToAnsiString(const strWide: WideString; CodePage: Word): AnsiString;
- var
- Len: integer;
- begin
- Result := '';
- if strWide = '' then Exit;
-
- Len := WideCharToMultiByte(CodePage,
- WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR,
- @strWide[1], -1, nil, 0, nil, nil);
- SetLength(Result, Len - 1);
-
- if Len > 1 then
- WideCharToMultiByte(CodePage,
- WC_COMPOSITECHECK or WC_DISCARDNS or WC_SEPCHARS or WC_DEFAULTCHAR,
- @strWide[1], -1, @Result[1], Len - 1, nil, nil);
- end;
-
-
- function AnsiStringToWideString(const strAnsi: AnsiString; CodePage: Word): WideString;
- var
- Len: integer;
- begin
- Result := '';
- if strAnsi = '' then Exit;
-
- Len := MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@strAnsi[1]), -1, nil, 0);
- SetLength(Result, Len - 1);
-
- if Len > 1 then
- MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@strAnsi[1]), -1, PWideChar(@Result[1]), Len - 1);
- end;
-
- 调用时需要传入 CodePage 参数,如果是简体中文环境,则 CodePage = 936(可以使用API函数GetACP获取系统默认CodePage)
-
相关阅读:
局域网中电脑之间无法ping通问题
Python 字典dict操作定义
set集合
Python 元组遍历排序操作方法
Python List 列表list()方法
set函数&操作
dict函数
文件操作
list函数
字符串格式化format使用
-
原文地址:https://www.cnblogs.com/zhangzhifeng/p/3301099.html
Copyright © 2020-2023
润新知