随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


下面是常用编码的识别符, 在 Delphi(2009) 中如何获取呢?
Unicode: FF FE; BigEndianUnicode: FE FF; UTF8: EF BB BF

var
  bs: TBytes;
  b: Byte;
  str: string;
begin
  {只有 Unicode、BigEndianUnicode、UTF8 编码有识别符}
  bs := TEncoding.Unicode.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {FF FE}

  bs := TEncoding.BigEndianUnicode.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {FE FF}

  bs := TEncoding.UTF8.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {EF BB BF}

  {ASCII、UTF7 和 Default(默认编码) 没有识别符}
  bs := TEncoding.ASCII.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {无}

  bs := TEncoding.UTF7.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {无}

  bs := TEncoding.Default.GetPreamble;
  str := '';
  for b in bs do str := Format('%s %x', [str, b]);
  ShowMessage(str); {无} 
end;

posted on 2008-11-19 16:42  万一  阅读(...)  评论(...编辑  收藏