■ 텍스트 파일 인코딩 타입 구하기 예제

----------------------------------------------------------------------------------------------------

using System;

 

byte[] bomByteArray = GetTextFileBOM("c:\\sample.txt"); // '텍스트 파일 BOM 구하기' 참조

 

string encodingType = GetTextFileEncodingType(bomByteArray);

 

Console.WriteLine(encodingType);

----------------------------------------------------------------------------------------------------

 

■ 텍스트 파일 인코딩 타입 구하기

----------------------------------------------------------------------------------------------------

#region 텍스트 파일 인코딩 타입 구하기 - GetTextFileEncodingType(bomByteArray)

 

/// <summary>

/// 텍스트 파일 인코딩 타입 구하기

/// </summary>

/// <param name="bomByteArray">BOM 바이트 배열</param>

/// <returns>인코딩 타입</returns>

public string GetTextFileEncodingType(byte[] bomByteArray)

{

    if((bomByteArray[0] & 0xff) == 0xef && (bomByteArray[1] & 0xff) == 0xbb && (bomByteArray[2] & 0xff) == 0xbf)

    {

        return "utf-8";

    }

    else if((bomByteArray[0] & 0xff) == 0xfe && (bomByteArray[1] & 0xff) == 0xff)

    {

        return "utf-16be";

    }

    else if((bomByteArray[0] & 0xff) == 0xff && (bomByteArray[1] & 0xff) == 0xfe)

    {

        return "utf-16le";

    }

    else if((bomByteArray[0] & 0xff) == 0x00 && (bomByteArray[1] & 0xff) == 0x00 &&

        (bomByteArray[0] & 0xff) == 0xfe && (bomByteArray[1] & 0xff) == 0xff)

    {

        return "utf-32be";

    }

    else if((bomByteArray[0] & 0xff) == 0xff && (bomByteArray[1] & 0xff) == 0xfe &&

        (bomByteArray[0] & 0xff) == 0x00 && (bomByteArray[1] & 0xff) == 0x00)

    {

        return "utf-32le";

    }

    else

    {

        return "euc-kr";

    }

}

 

#endregion

----------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요