注意,这里的取字符编码仅仅对有标识的字符起作用,而有些没有标识的字符串要得知是什么编码可能要进行逐字符对比了
unit EncodeUnit;
interface
uses
SysUtils, Windows, Classes;
type
TTextFormat = ( tfAnsi, tfUnicode, tfUnicodeBigEndian, tfUtf8 );
const
TextFormatFlag: array [tfAnsi..tfUtf8] of Word = ( $0000,$FFFE,$FEFF,$EFBB );
function GetFileEncodeing(const FileName: string): TTextFormat;
function GetStrEncodeing(ABuffer: RawByteString): TTextFormat;
function ConvertEncodeingA(Source, Destination: TEncoding; Buffer: AnsiString): AnsiString;
function UnicodeEncode(Str: string; CodePage: integer): WideString;
function UnicodeDecode(Str: WideString; CodePage: integer): string;
function Gb2Big5(Str: string): string;
function Big52Gb(Str: string): string;
function WideStringToString(const ws: WideString; codePage: Word): AnsiString;
function StringToWideString(const s: AnsiString; codePage: Word): Wide