메일타입변경

ASP.NET 2004. 11. 5. 14:29

메일 MIME 타입중 Base64 와 Quoted-Printable 디코딩 예입니다.

본론내용

메일 MIME 타입중 현재 가장 보편화된 Base64 와 Quoted-Printable 디코딩 예입니다.


using System;



namespace gobyMail

{

/// <summary>

/// Summary description for Mime.

/// </summary>

public class Mime

{

public Mime()

{

}

public static string Base64Decoding(string szBuffer)

{

byte[] szData = Convert.FromBase64String(szBuffer);

szBuffer = System.Text.Encoding.Default.GetString(szData);

return szBuffer;

}



public static string QPDecoding(string szBuffer)

{

int op = 0;

int slen = szBuffer.Length;

int intDecodeValue = 0;



char[] szDecode = szBuffer.ToCharArray();



byte[] decodeValue = new byte[slen];

for (int ip = 0; ip < slen; ip++)

{

if (szDecode[ip] == '=')

{

if (ip <= (slen-2))

{

intDecodeValue = (HexConvert(szDecode[ip+1]) * 16) + HexConvert(szDecode[ip+2]);

ip+=2;

}

}

else

intDecodeValue = (int)szDecode[ip];



decodeValue[op] = (byte)intDecodeValue;

op++;

}



string strTemp = System.Text.Encoding.Default.GetString(decodeValue);

return strTemp;

}



private static int HexConvert(char c)

{

if(c >= '0' && c <= '9')

return (int)(c - '0');

else if(c >= 'A' && c <= 'F')

return (int)(c - 'A') + 10;

else

return (int)c;

}

}

}

Posted by 퓨전마법사
,