javax.mail.internet
Ŭ·¡½º MimeUtility

java.lang.Object
  |
  +--javax.mail.internet.MimeUtility

public class MimeUtility
extends java.lang.Object

À̰ÍÀº ´Ù¾çÇÑ MIME °ü·Ã ±â´ÉÀ» Á¦°øÇÏ´Â À¯Æ¿¸®Æ¼ Ŭ·¡½ºÀÔ´Ï´Ù.

MIME Çì´õ¸¦ RFC 2047 ¿¡ µû¶ó encode ¹× µðÄÚµåÇÏ´Â ¸Þ¼Òµå ÀϽÄÀÌ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ Çì´õÀÇ Ã³¸®¿¡ °üÇÑ °£´ÜÇÑ ¼³¸íÀ» ÀÌÇÏ¿¡ ³ªÅ¸³À´Ï´Ù.

RFC 822 ¸ÞÀÏ Çì´õ´Â US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯Å͸¦ Æ÷ÇÔÇÑ Çì´õ´Â US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇϵµ·Ï(µíÀÌ) encode ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±âº»ÀûÀ¸·Î, ÀÌ Ã³¸®´Â BASE64 ¶Ç´Â QP ¸¦ »ç¿ëÇØ ƯÁ¤ÀÇ Ä³¸¯Å͸¦ encode ÇÏ´Â °ÍÀ» Æ÷ÇÔÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº RFC 2047 ¿¡ ¼³¸íÀÌ ÀÖ½À´Ï´Ù.

Java ¿¡ ´ëÇØ, String ´Â (16 ºñÆ®ÀÇ) Unicode ij¸¯Å͸¦ Æ÷ÇÔÇÕ´Ï´Ù. ASCII ´Â Unicode ÀÇ ºÎºÐÁýÇÕÀÔ´Ï´Ù (0 - 127 ÀÇ ¹üÀ§¸¦ Â÷ÁöÇÕ´Ï´Ù). ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ String ´Â ¹ú½á ¸ÞÀÏ·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. String ¿¡ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì´Â encode°¡ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ ´Ü°è¸¦ º¸´Ù º¹ÀâÇÏ°Ô Çϰí ÀÖ´Â °ÍÀº, Unicode °¡ ³Ê¹« ³Ð°Ô »ç¿ëµÇ°í Àִ ij¸¯ÅÍ ¼¼Æ®°¡ ¾Æ´Ï±â ¶§¹®¿¡, ¿ì¼± String ¸¦ ´Ù¸¥ ij¸¯ÅÍ ¼¼Æ®¿¡ ij¸¯ÅÍ ¼¼Æ® encode ÇØ, ±× ÈÄ¿¡ Àü¼Û ÀÎÄÚµù ÇÒ Çʿ䰡 ÀÖ´Â °ÍÀÔ´Ï´Ù.

¸ÞÀÏ·Î ¾ÈÀüÇÑ String (¿¹¸¦ µé¾î, SMTP »óÀÇ ¼Û½Åµî)ÀÇ ½ÇÁ¦ÀÇ ¾Æ¸£¹ÙÀÌÆ®¸¦ ÃëµæÇÏ·Á¸é ´ÙÀ½ÀÇ Á¶ÀÛÀÌ ÇÊ¿äÇÕ´Ï´Ù.

	byte[] bytes = string.getBytes("iso-8859-1");	

MimeMessage ¹× MimeBodyPart »óÀÇ setHeader() ¹× addHeader() ¸Þ¼Òµå´Â, ÁöÁ¤µÈ Çì´õÄ¡°¡ US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀ̶ó°í °¡Á¤ÇÕ´Ï´Ù. µû¶ó¼­, ±×·¯ÇÑ È£Ãâ¿ø·¡´Â °Ç³×ÁÖ´Â °ªÀÌ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯Å͸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â °ÍÀ» È®ÀÎÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ Å¬·¡½º³»ÀÇ ¸Þ¼Òµå´Â, ÀÌ ½ÇÇà¿¡ µµ¿òÀÌ µË´Ï´Ù.

MimeMessage ¹× MimeBodyPart »óÀÇ getHeader() ¸Þ¼Òµå ÆÐ¹Ð¸®´Â, raw Çì´õÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. À̰͵éÀº RFC 2047 ¿¡ µû¶ó encode µÉ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±× °æ¿ì, Unicode String ¿¡ µðÄÚµåµÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º³»ÀÇ ¸Þ¼Òµå´Â, ÀÌ ½ÇÇà¿¡ µµ¿òÀÌ µË´Ï´Ù.


ÇʵåÀÇ °³¿ä
static int ALL
           
 
¸Þ¼ÒµåÀÇ °³¿ä
static java.io.InputStream decode (java.io.InputStream is, java.lang.String encoding)
          ÁöÁ¤µÈ ÀÔ·Â ½Ã³Á¹°À» µðÄÚµåÇÕ´Ï´Ù.
static java.lang.String decodeText (java.lang.String etext)
           ¡¸±¸Á¶¸¦ °¡ÁöÁö ¾Ê´Â´Ù¡¹Çì´õ, Áï, RFC 822 ·Î ¡¸*text¡¹¶ó°í Á¤Àǵǰí ÀÖ´Â Çì´õ¸¦ µðÄÚµåÇÕ´Ï´Ù.
static java.lang.String decodeWord (java.lang.String eword)
          Ä³¸¯ÅÍ ¶óÀÎÀº, RFC 2047 ÀÇ ¡¸encoded-word¡¹±¸¹® ºÐ¼® ±ÔÄ¢À» »ç¿ëÇØ ±¸¹® ºÐ¼® µË´Ï´Ù.
static java.io.OutputStream encode (java.io.OutputStream os, java.lang.String encoding)
          ÁöÁ¤µÈ Ãâ·Â ½Ã³Á¹°¿¡ ¿£ÄÚ´õ¸¦ ·¦ ÇÕ´Ï´Ù.
static java.io.OutputStream encode (java.io.OutputStream os, java.lang.String encoding, java.lang.String filename)
          ÁöÁ¤µÈ Ãâ·Â ½Ã³Á¹°¿¡ ¿£ÄÚ´õ¸¦ ·¦ ÇÕ´Ï´Ù.
static java.lang.String encodeText (java.lang.String text)
          RFC 822 ¡¸text¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.
static java.lang.String encodeText (java.lang.String text, java.lang.String charset, java.lang.String encoding)
          RFC 822 ¡¸text¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.
static java.lang.String encodeWord (java.lang.String word)
          RFC 822 ¡¸word¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.
static java.lang.String encodeWord (java.lang.String word, java.lang.String charset, java.lang.String encoding)
          RFC 822 ¡¸word¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.
static java.lang.String getDefaultJavaCharset ()
          ½Ã½ºÅÛÀÇ ÇöÀçÀÇ µðÆúÆ® ·ÎÄÉÀÏ¿¡ ´ëÀÀÇÏ´Â µðÆúÆ®ÀÇ Ä³¸¯ÅÍ ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.
static java.lang.String getEncoding (DataHandler  dh)
          getEncoding(DataSource) ¿Í °°½À´Ï´Ù.
static java.lang.String getEncoding (DataSource  ds)
          ¸ÞÀÏ·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) Çϱâ À§ÇÑ(ÇØ), ÀÌ µ¥ÀÌÅÍ ¼Ò½ºÀÇ ÀÔ·Â ½Ã³Á¹°¿¡ Àû¿ëµÇÁö ¾ÊÀ¸¸é ¾È µÇ´Â content-transfer-encoding ¸¦ ÃëµæÇÕ´Ï´Ù.
static java.lang.String javaCharset (java.lang.String charset)
          MIME ij¸¯ÅÍ ¼¼Æ®¸íÀ» À¯È¿ÇÑ Java ij¸¯ÅÍ ¼¼Æ®¸íÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
static java.lang.String mimeCharset (java.lang.String charset)
          java ij¸¯ÅÍ ¼¼Æ®¸¦ MIME ij¸¯ÅÍ ¼¼Æ®¸íÀ¸·Î º¯È¯ÇÕ´Ï´Ù.
static java.lang.String quote (java.lang.String word, java.lang.String specials)
          ÁöÁ¤µÈ Ư¼ö ij¸¯ÅÍ À϶÷ÀÇ ÀÓÀÇÀÇ Ä³¸¯ÅͰ¡ ´Ü¾î¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì¿¡, ´Ü¾î¸¦ ÀοëÇÏ´Â À¯Æ¿¸®Æ¼ ¸Þ¼ÒµåÀÔ´Ï´Ù.
 
Ŭ·¡½º java.lang.Object ·ÎºÎÅÍ °è½ÂÇÑ ¸Þ¼Òµå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

ALL

public static final int ALL
¸Þ¼ÒµåÀÇ »ó¼¼

getEncoding

public static java.lang.String getEncoding(DataSource  ds)
¸ÞÀÏ·Î ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) Çϱâ À§ÇÑ(ÇØ), ÀÌ µ¥ÀÌÅÍ ¼Ò½ºÀÇ ÀÔ·Â ½Ã³Á¹°¿¡ Àû¿ëµÇÁö ¾ÊÀ¸¸é ¾È µÇ´Â content-transfer-encoding ¸¦ ÃëµæÇÕ´Ï´Ù.

¿©±â¼­ »ç¿ëµÇ´Â ¾Ë°í¸®ÁòÀº ´ÙÀ½°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
ds - DataSource
¹Ýȯ°ª:
ÀÎÄÚµù. ¡¸7 bit¡¹, ¡¸quoted-printable¡¹, ¶Ç´Â ¡¸base64¡¹

getEncoding

public static java.lang.String getEncoding(DataHandler  dh)
getEncoding(DataSource) ¿Í °°½À´Ï´Ù. ´Ù¸¸,InputStream ·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ´Â °ÍÀÌ ¾Æ´Ï¶ó,writeTo ¸Þ¼Òµå¸¦ »ç¿ëÇØ µ¥ÀÌÅ͸¦ °Ë»çÇÕ´Ï´Ù. À̰ÍÀº,DataHandler °¡ ¿ÀºêÁ§Æ®¿Í MIME ŸÀÔ (¿¹¸¦ µé¾î, ¡¸text/plain¡¹ String)À¸·Î ÀÛ¼ºµÇ´Â ÀϹÝÀûÀÎ ÄÉÀ̽º¿¡ ´ëÇØ, º¸´Ù È¿À²ÀûÀÔ´Ï´Ù. ¿Ö³ÄÇϸé, ¸ðµç I/O °¡ ÀÌ thread³»¿¡¼­ ½ÇÇàµÇ±â ¶§¹®ÀÔ´Ï´Ù. InputStream °¡ ÇÊ¿äÇÑ °æ¿ì,DataHandler ´Â thread, ÆÄÀÌÇÁ ½Ã³Á¹°ÀÇ ´ë, ¹× writeTo ¸Þ¼Òµå¸¦ »ç¿ëÇØ µ¥ÀÌÅ͸¦ »ý¼ºÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
JavaMail 1.2

decode

public static java.io.InputStream decode(java.io.InputStream is,
                                         java.lang.String encoding)
                                  throws MessagingException 
ÁöÁ¤µÈ ÀÔ·Â ½Ã³Á¹°À» µðÄÚµåÇÕ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ÀÔ·Â ½Ã³Á¹°Àº µðÄÚµåµÈ ÀÔ·Â ½Ã³Á¹°ÀÔ´Ï´Ù. RFC 2045 ·Î Á¤ÀÇ ¶°³¯ ¼ö ÀÖ¾î ¸ðµç ÀÎÄÚµùÀº ¿©±â¼­ ¼­Æ÷Æ®µË´Ï´Ù. À̰Ϳ¡´Â ¡¸base64¡¹, ¡¸quoted-printable¡¹, ¡¸7 bit¡¹, ¡¸8 bit¡¹, ¹× ¡¸binary¡¹°¡ Æ÷ÇԵ˴ϴÙ. °Ô´Ù°¡ ¡¸uuencode¡¹µµ ¼­Æ÷Æ®µË´Ï´Ù.
ÆÄ¶ó¹ÌÅÍ:
is - ÀÔ·Â ½Ã³Á¹°
encoding - ½Ã³Á¹°ÀÇ ÀÎÄÚµù
¹Ýȯ°ª:
µðÄÚµåµÈ ÀÔ·Â ½Ã³Á¹°

encode

public static java.io.OutputStream encode(java.io.OutputStream os,
                                          java.lang.String encoding)
                                   throws MessagingException 
ÁöÁ¤µÈ Ãâ·Â ½Ã³Á¹°¿¡ ¿£ÄÚ´õ¸¦ ·¦ ÇÕ´Ï´Ù. RFC 2045 ·Î Á¤ÀÇ ¶°³¯ ¼ö ÀÖ¾î ¸ðµç ÀÎÄÚµùÀº ¿©±â¼­ ¼­Æ÷Æ®µË´Ï´Ù. À̰Ϳ¡´Â ¡¸base64¡¹, ¡¸quoted-printable¡¹, ¡¸7 bit¡¹, ¡¸8 bit¡¹, ¹× ¡¸binary¡¹°¡ Æ÷ÇԵ˴ϴÙ. °Ô´Ù°¡ ¡¸uuencode¡¹µµ ¼­Æ÷Æ®µË´Ï´Ù.
ÆÄ¶ó¹ÌÅÍ:
os - Ãâ·Â ½Ã³Á¹°
encoding - ½Ã³Á¹°ÀÇ ÀÎÄÚµù
¹Ýȯ°ª:
ÁöÁ¤µÈ ÀÎÄÚµùÀ» Àû¿ëÇÏ´Â Ãâ·Â ½Ã³Á¹°

encode

public static java.io.OutputStream encode(java.io.OutputStream os,
                                          java.lang.String encoding,
                                          java.lang.String filename)
                                   throws MessagingException 
ÁöÁ¤µÈ Ãâ·Â ½Ã³Á¹°¿¡ ¿£ÄÚ´õ¸¦ ·¦ ÇÕ´Ï´Ù. RFC 2045 ·Î Á¤ÀÇ ¶°³¯ ¼ö ÀÖ¾î ¸ðµç ÀÎÄÚµùÀº ¿©±â¼­ ¼­Æ÷Æ®µË´Ï´Ù. À̰Ϳ¡´Â ¡¸base64¡¹, ¡¸quoted-printable¡¹, ¡¸7 bit¡¹, ¡¸8 bit¡¹, ¹× ¡¸binary¡¹°¡ Æ÷ÇԵ˴ϴÙ. °Ô´Ù°¡ ¡¸uuencode¡¹µµ ¼­Æ÷Æ®µË´Ï´Ù. filename ÆÄ¶ó¹ÌÅÍ´Â ¡¸uuencode¡¹ÀÎÄÚµù°ú ÇÔ²² »ç¿ëµÇ¾î encode µÈ Ãâ·Â¿¡ Æ÷ÇԵ˴ϴÙ.
ÆÄ¶ó¹ÌÅÍ:
os - Ãâ·Â ½Ã³Á¹°
encoding - ½Ã³Á¹°ÀÇ ÀÎÄÚµù
filename - encode µÇ´Â ÆÄÀÏÀÇ À̸§ (uuencode ¿Í ÇÔ²² ¸¶¼Å »ç¿ëµÈ´Ù)
¹Ýȯ°ª:
ÁöÁ¤µÈ ÀÎÄÚµùÀ» Àû¿ëÇÏ´Â Ãâ·Â ½Ã³Á¹°
µµÀÔµÈ ¹öÁ¯:
JavaMail 1.2

encodeText

public static java.lang.String encodeText(java.lang.String text)
                                   throws java.io.UnsupportedEncodingException
RFC 822 ¡¸text¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.

ÁöÁ¤µÈ Unicode ij¸¯ÅÍ ¶óÀÎÀº US-ASCII ÀÌ¿ÜÀÇ ¸óÁö¿¡ µµÂøÇØ °Ë»çµË´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ij¸¯Å͸¸ÀÌ Æ÷ÇԵǴ °æ¿ì´Â ±×´ë·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì, ¿ì¼± Ç÷§ÆûÀÇ µðÆúÆ®ÀÇ Ä³¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ encode µÇ¾î ´ÙÀ½¿¡ B ¶Ç´Â Q ÀÎÄÚµùÀ» »ç¿ëÇØ Àü¼Û encode µË´Ï´Ù. °á°úÀÇ ¾Æ¸£¹ÙÀÌÆ®´Â ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ¡¸±¸Á¶¸¦ °¡ÁöÁö ¾Ê´Â´Ù¡¹ÀÇ RFC 822 Çì´õ¸¦ encode Çϱâ À§Çؼ­¸¸ »ç¿ëµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

»ç¿ë¿¹:

MimePart part = ...
String rawvalue = "FooBar Mailer, Japanese version 1.1"
try {
// If we know for sure that rawvalue contains only US-ASCII 
// characters, we can skip the encoding part
part.setHeader("X-mailer", MimeUtility.encodeText(rawvalue));
} catch (UnsupportedEncodingException e) {
// encoding failure
} catch (MessagingException me) {
// setHeader() failure
  }

ÆÄ¶ó¹ÌÅÍ:
text - Unicode ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎ
¿¹¿Ü:
java.io.UnsupportedEncodingException - ÀÎÄÚµù¿¡ ½ÇÆÐÇßÀ» °æ¿ì

encodeText

public static java.lang.String encodeText(java.lang.String text,
                                          java.lang.String charset,
                                          java.lang.String encoding)
                                   throws java.io.UnsupportedEncodingException
RFC 822 ¡¸text¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.

ÁöÁ¤µÈ Unicode ij¸¯ÅÍ ¶óÀÎÀº US-ASCII ÀÌ¿ÜÀÇ ¸óÁö¿¡ µµÂøÇØ °Ë»çµË´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ij¸¯Å͸¸ÀÌ Æ÷ÇԵǴ °æ¿ì´Â ±×´ë·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì, ¿ì¼± ÁöÁ¤µÈ ij¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ encode µÇ¾î ´ÙÀ½¿¡ B ¶Ç´Â Q ÀÎÄÚµùÀ» »ç¿ëÇØ Àü¼Û encode µË´Ï´Ù. °á°úÀÇ ¾Æ¸£¹ÙÀÌÆ®´Â ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ¡¸±¸Á¶¸¦ °¡ÁöÁö ¾Ê´Â´Ù¡¹ÀÇ RFC 822 Çì´õ¸¦ encode Çϱâ À§Çؼ­¸¸ »ç¿ëµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
text - Çì´õÄ¡
charset - ij¸¯ÅÍ ¼¼Æ®. ÀÌ ÆÄ¶ó¹ÌÅͰ¡ null ÀÇ °æ¿ì, Ç÷§ÆûÀÇ µðÆúÆ®ÀÇ Ä³¸¯ÅÍ ¼¼Æ®°¡ »ç¿ëµÇ´Â
encoding - »ç¿ëµÇ´Â ÀÎÄÚµù. ÇöÀç ¼­Æ÷Æ®µÇ°í ÀÖ´Â °ªÀº ¡¸B¡¹ ¹× ¡¸Q¡¹ÀÌ´Ù. ÀÌ ÆÄ¶ó¹ÌÅͰ¡ null ¶§, encode µÇ´Â ij¸¯ÅÍÀÇ ´ëºÎºÐÀÌ ASCII ij¸¯ÅÍ ¼¼Æ®¿¡ ÀÖ´Â °æ¿ì´Â ¡¸Q¡¹ÀÎÄÚµùÀÌ »ç¿ëµÇ¾î ±×·¸Áö ¾ÊÀº °æ¿ì´Â ¡¸B¡¹ÀÎÄÚµùÀÌ »ç¿ëµÇ´Â
¹Ýȯ°ª:
US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎ

decodeText

public static java.lang.String decodeText(java.lang.String etext)
                                   throws java.io.UnsupportedEncodingException
¡¸±¸Á¶¸¦ °¡ÁöÁö ¾Ê´Â´Ù¡¹Çì´õ, Áï, RFC 822 ·Î ¡¸*text¡¹¶ó°í Á¤Àǵǰí ÀÖ´Â Çì´õ¸¦ µðÄÚµåÇÕ´Ï´Ù.

ij¸¯ÅÍ ¶óÀÎÀº RFC 2047, Section 6.1. 1 À¸·Î ±ÔÁ¤µÇ°í ÀÖ´Â ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ µðÄÚµåµË´Ï´Ù. ÀÓÀÇÀÇ ¼øÂ÷ ¼ø¼­·Î ij¸¯ÅÍ ¶óÀÎ º¯È¯¿¡ ½ÇÆÐÇϸé(ÀÚ), UnsupportedEncodingException °¡ ½½·Î¿ì µË´Ï´Ù. String °¡ RFC 2047 Çü½Ä¿¡¼­ encode µÈ Çì´õ°¡ ¾Æ´Ñ °æ¿ì´Â ±×´ë·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù.

»ç¿ë¿¹:

MimePart part = ...
String rawvalue = null;
String  value = null;
try {
if ((rawvalue = part.getHeader("X-mailer")[0]) ! = null)
value = MimeUtility.decodeText(rawvalue);
} catch (UnsupportedEncodingException e) {
// Don't care
value = rawvalue;
} catch (MessagingException me) { }
return value;

ÆÄ¶ó¹ÌÅÍ:
etext - encode µÇ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Â °ª
¿¹¿Ü:
java.io.UnsupportedEncodingException - ij¸¯ÅÍ ¼¼Æ® º¯È¯ÀÌ ½ÇÆÐÇßÀ» °æ¿ì

encodeWord

public static java.lang.String encodeWord(java.lang.String word)
                                   throws java.io.UnsupportedEncodingException
RFC 822 ¡¸word¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.

ÁöÁ¤µÈ Unicode ij¸¯ÅÍ ¶óÀÎÀº US-ASCII ÀÌ¿ÜÀÇ ¸óÁö¿¡ µµÂøÇØ °Ë»çµË´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ij¸¯Å͸¸ÀÌ Æ÷ÇԵǴ °æ¿ì´Â ±×´ë·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì, ¿ì¼± Ç÷§ÆûÀÇ µðÆúÆ®ÀÇ Ä³¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ encode µÇ¾î ´ÙÀ½¿¡ B ¶Ç´Â Q ÀÎÄÚµùÀ» »ç¿ëÇØ Àü¼Û encode µË´Ï´Ù. °á°úÀÇ ¾Æ¸£¹ÙÀÌÆ®´Â ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â RFC 822 ¡¸phrases¡¹¸¦ ÀÛ¼ºÇÒ °æ¿ì¿¡ »ç¿ëµÇ´Â °ÍÀ» ÀǵµÇϰí ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, InternetAddress Ŭ·¡½º´Â À̰ÍÀ» »ç¿ëÇØ ¡¸phrase¡¹ÄÄÆÛ³ÍÆ®¸¦ encode ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
word - Unicode ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿­
¿¹¿Ü:
java.io.UnsupportedEncodingException - ÀÎÄÚµù¿¡ ½ÇÆÐÇßÀ» °æ¿ì

encodeWord

public static java.lang.String encodeWord(java.lang.String word,
                                          java.lang.String charset,
                                          java.lang.String encoding)
                                   throws java.io.UnsupportedEncodingException
RFC 822 ¡¸word¡¹ÅäÅ«À» RFC 2047 ¿¡ µû¸¥ ¸ÞÀÏ¿¡ ¾ÈÀüÇÑ Çü½Ä¿¡ encode ÇÕ´Ï´Ù.

ÁöÁ¤µÈ Unicode ij¸¯ÅÍ ¶óÀÎÀº US-ASCII ÀÌ¿ÜÀÇ ¸óÁö¿¡ µµÂøÇØ °Ë»çµË´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ij¸¯Å͸¸ÀÌ Æ÷ÇԵǴ °æ¿ì´Â ±×´ë·Î µ¹·ÁÁÖ¾îÁý´Ï´Ù. ij¸¯ÅÍ ¶óÀο¡ US-ASCII ÀÌ¿ÜÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì, ¿ì¼± ÁöÁ¤µÈ ij¸¯ÅÍ ¼¼Æ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ encode µÇ¾î ´ÙÀ½¿¡ B ¶Ç´Â Q ÀÎÄÚµùÀ» »ç¿ëÇØ Àü¼Û encode µË´Ï´Ù. °á°úÀÇ ¾Æ¸£¹ÙÀÌÆ®´Â ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
word - Unicode ij¸¯ÅÍ ¶óÀÎ
charset - MIME ij¸¯ÅÍ ¼¼Æ®
encoding - »ç¿ëµÇ´Â ÀÎÄÚµù. ÇöÀç ¼­Æ÷Æ®µÇ°í ÀÖ´Â °ªÀº ¡¸B¡¹ ¹× ¡¸Q¡¹ÀÌ´Ù. ÀÌ ÆÄ¶ó¹ÌÅͰ¡ null ¶§, encode µÇ´Â ij¸¯ÅÍÀÇ ´ëºÎºÐÀÌ ASCII ij¸¯ÅÍ ¼¼Æ®¿¡ ÀÖ´Â °æ¿ì´Â ¡¸Q¡¹ÀÎÄÚµùÀÌ »ç¿ëµÇ¾î ±×·¸Áö ¾ÊÀº °æ¿ì´Â ¡¸B¡¹ÀÎÄÚµùÀÌ »ç¿ëµÇ´Â
¹Ýȯ°ª:
US-ASCII ij¸¯Å͸¸À» Æ÷ÇÔÇÑ Unicode ij¸¯ÅÍ ¶óÀÎ
¿¹¿Ü:
java.io.UnsupportedEncodingException - ÀÎÄÚµù¿¡ ½ÇÆÐÇßÀ» °æ¿ì

decodeWord

public static java.lang.String decodeWord(java.lang.String eword)
                                   throws ParseException ,
                                          java.io.UnsupportedEncodingException
ij¸¯ÅÍ ¶óÀÎÀº, RFC 2047 ÀÇ ¡¸encoded-word¡¹±¸¹® ºÐ¼® ±ÔÄ¢À» »ç¿ëÇØ ±¸¹® ºÐ¼® µË´Ï´Ù. ±¸¹® ºÐ¼®¿¡ ½ÇÆÐÇßÀ» °æ¿ì, ParseException °¡ ½½·Î¿ì µË´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â, Àü¼Û µðÄÚµåµÈ ÈÄ, Unicode ¿¡ ij¸¯ÅÍ ¶óÀÎ º¯È¯µË´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ º¯È¯¿¡ ½ÇÆÐÇϸé(ÀÚ), UnsupportedEncodingException °¡ ½½·Î¿ì µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
eword - encode µÇ°í ÀÖÀ» °¡´É¼ºÀÌ ÀÖ´Â °ª
¿¹¿Ü:
ParseException - ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2047 À¸·Î ±ÔÁ¤µÇ°í ÀÖ´Â encoded-word °¡ ¾Æ´Ñ °æ¿ì
java.io.UnsupportedEncodingException - ij¸¯ÅÍ ¼¼Æ® º¯È¯ÀÌ ½ÇÆÐÇßÀ» °æ¿ì

quote

public static java.lang.String quote(java.lang.String word,
                                     java.lang.String specials)
ÁöÁ¤µÈ Ư¼ö ij¸¯ÅÍ À϶÷ÀÇ ÀÓÀÇÀÇ Ä³¸¯ÅͰ¡ ´Ü¾î¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì¿¡, ´Ü¾î¸¦ ÀοëÇÏ´Â À¯Æ¿¸®Æ¼ ¸Þ¼ÒµåÀÔ´Ï´Ù.

HeaderTokenizer Ŭ·¡½º´Â, MIME ¿Í RFC 822 ¶ó°í ÇÏ´Â 2 Á¶ÀÇ Æ¯¼ö ´Ü¶ô ij¸¯ÅÍ ¼¼Æ®¸¦ Á¤ÀÇÇÕ´Ï´Ù.

ÀϹÝÀûÀ¸·Î ÀÌ ¸Þ¼Òµå´Â, RFC 822 ¹× MIME Çì´õ ÇʵåÀÇ »ý¼º½Ã¿¡ »ç¿ëµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
word - ÀοëµÇ´Â ´Ü¾î
specials - Ư¼ö ij¸¯Åͼ¼Æ®
¹Ýȯ°ª:
¾Æ¸¶ ÀοëµÇ´Â ´Ü¾î
°ü·Ã Ç׸ñ:
HeaderTokenizer.MIME , HeaderTokenizer.RFC822

javaCharset

public static java.lang.String javaCharset(java.lang.String charset)
MIME ij¸¯ÅÍ ¼¼Æ®¸íÀ» À¯È¿ÇÑ Java ij¸¯ÅÍ ¼¼Æ®¸íÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
charset - MIME ij¸¯ÅÍ ¼¼Æ®¸í
¹Ýȯ°ª:
Java ij¸¯ÅÍ ¼¼Æ® »ó´ç. ÀûÀýÇÑ ¸ÅÇÎÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì, °Ç³×¹Þ´Â ij¸¯ÅÍ ¼¼Æ® ÀÚü°¡ µ¹·ÁÁÖ¾îÁø´Ù

mimeCharset

public static java.lang.String mimeCharset(java.lang.String charset)
java ij¸¯ÅÍ ¼¼Æ®¸¦ MIME ij¸¯ÅÍ ¼¼Æ®¸íÀ¸·Î º¯È¯ÇÕ´Ï´Ù.

JDK ÀÇ Àå·¡ÀÇ ¹öÁ¯ (1.2 ÀÇ µÚ)Àº ÀÌ ±â´ÉÀ» Á¦°øÇÒ °¡´É¼ºÀÌ ÀÖ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ±× °æ¿ì, ÀÌ ¸Þ¼Òµå°¡ Ãßõ µÇÁö ¾Ê°Ô µÇ´Â °ÍÀ» »ý°¢µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
charset - JDK ij¸¯ÅÍ ¼¼Æ®
¹Ýȯ°ª:
MIME/IANA »ó´ç. ¸ÅÇÎÀ» »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì, °Ç³×¹Þ´Â ij¸¯ÅÍ ¼¼Æ® ÀÚü°¡ µ¹·ÁÁÖ¾îÁö´Â
µµÀÔµÈ ¹öÁ¯:
JavaMail 1.1

getDefaultJavaCharset

public static java.lang.String getDefaultJavaCharset()
½Ã½ºÅÛÀÇ ÇöÀçÀÇ µðÆúÆ® ·ÎÄÉÀÏ¿¡ ´ëÀÀÇÏ´Â µðÆúÆ®ÀÇ Ä³¸¯ÅÍ ¼¼Æ®¸¦ ÃëµæÇÕ´Ï´Ù.

¹Ýȯ°ª:
½Ã½ºÅÛÀÇ µðÆúÆ® ·ÎÄÉÀÏÀÇ µðÆúÆ®ÀÇ Java ij¸¯ÅÍ ¼¼Æ® (MIME ij¸¯ÅÍ ¼¼Æ®´Â ¾Æ´Ï´Ù).
µµÀÔµÈ ¹öÁ¯:
JavaMail 1.1


Copyright 2002 Sun Microsystems, Inc. All rights reserved.
»ç¿ë¿¡´Â»ç¿ë Çã¶ô °è¾àÀÌ Àû¿ëµË´Ï´Ù.