随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万


下面是常用编码的识别符, 在 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   万一  阅读(8558)  评论(5编辑  收藏  举报


点击右上角即可分享
微信分享提示