ansi字符串和utf8字符串之间相互转换
ansi字符串和utf8字符串之间相互转换
unit AnsiStringTools;
interface
uses
SysUtils;
type
{$if CompilerVersion <= 18.5}
TBytes = array of Byte;
{$ifend}
TAnsiStringTools = class(TObject)
public
/// <summary>
/// ansi字符串转utf8 bytes
/// </summary>
/// <param name="v">ansi字符串</param>
/// <returns>utf8 bytes</returns>
class function ansiString2Utf8Bytes(v:AnsiString): TBytes;
/// <summary>
/// utf8字符串转ansi字符串
/// </summary>
/// <param name="pvData"></param>
/// <returns>ansi字符串</returns>
class function Utf8AnsiString2AnsiString(pvData:AnsiString): AnsiString;
/// <summary>
/// uft8 bytes转ansi字符串
/// </summary>
/// <param name="pvData">uft8 bytes</param>
/// <returns>ansi字符串</returns>
class function Utf8Bytes2AnsiString(pvData: TBytes): AnsiString;
end;
implementation
class function TAnsiStringTools.ansiString2Utf8Bytes(v:AnsiString): TBytes;
var
lvTemp:AnsiString;
begin
lvTemp := AnsiToUtf8(v);
SetLength(Result, Length(lvTemp));
Move(lvTemp[1], Result[0], Length(lvTemp));
end;
class function TAnsiStringTools.Utf8AnsiString2AnsiString(pvData:AnsiString):
AnsiString;
begin
Result := Utf8ToAnsi(pvData);
end;
class function TAnsiStringTools.Utf8Bytes2AnsiString(pvData: TBytes):
AnsiString;
var
lvTemp:AnsiString;
begin
SetLength(lvTemp, Length(pvData));
Move(pvData[0], lvTemp[1], Length(pvData));
Result := Utf8ToAnsi(lvTemp);
end;
end.
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/12262503.html

浙公网安备 33010602011771号