注意,这里的取字符编码仅仅对有标识的字符起作用,而有些没有标识的字符串要得知是什么编码可能要进行逐字符对比了
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): WideString;
implementation
uses
IDCWebAngelUnit;
//高低字节互换
function WordLoHiExchange(w: Word): Word; register;
asm
XCHG AL, AH
end;
//取得文件编码
function GetFileEncodeing(const FileName: string): TTextFormat;

这个单元提供了一组Delphi函数,用于检测文件和字符串的编码(如tfAnsi, tfUnicode, tfUtf8等),并实现不同编码间的转换。包括GetFileEncodeing获取文件编码,GetStrEncodeing获取字符串编码,以及UnicodeEncode/Decode进行Unicode编码解码,还有Gb2Big5和Big52Gb用于GB和Big5编码的转换。"
102949120,8088198,数据库查询之COUNT(*)与COUNT(1)深入解析,"['数据库查询', 'SQL', 'MySQL优化', '数据库理论', '数据统计']
最低0.47元/天 解锁文章
688

被折叠的 条评论
为什么被折叠?



