delphi 判断文本文件是否为UTF-8编码  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 判断文本文件是否为UTF-8编码


program ConsoleTest;

{.$APPTYPE CONSOLE}

uses

  Windows,system.Classes,system.SysUtils;

const

  BOM_LENGTH = 3;

  FileName='2.txt';

var


  st: TMemoryStream;

  Buffer: array[0..BOM_LENGTH-1] of Byte;

begin

  if (FileName <> '') and FileExists(FileName) then

  begin


{$MESSAGE hint 'UTF-8 fix for TMemIniFile.LoadValues is active'}

    st := TMemoryStream.Create;

    try

      st.LoadFromFile(FileName);

      st.Position := 0;

      if BOM_LENGTH = st.Read(Buffer, BOM_LENGTH) then begin

        // the file contains at least BOM_LENGTH bytes

        if (Buffer[0] = $EF) and (Buffer[1] = $BB) and (Buffer[2] = $BF) then begin


          Writeln('UTF-8');

        end else begin

          // no BOM

          st.Position := 0;

          Writeln('no UTF-8');

        end;

      end;


     Readln;


    finally


      st.Free;

    end;

  end

  else


end.



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.050891876220703 seconds