* MIME �� External-Body ����ʸ��ź�եե������ʬΥ��¸
���ε�����ľ���URL: Permlink | ���ε�����°���륫�ƥ���: [RFC] [���]
RFC2046 �ˤ� External-Body �Ȥ������������롣ź�եե�������̤ξ���ʬΥ������¸������ˡ���ꤷ����Τ���
��ʬ�Ǥ������ä��ե����ޥåȤ��äƤ��ɤ����ɡ���ǽ�ʸ¤�ɸ��˽�������ˤ��Ƥ����������Τ�����Τ�ꤿ�����Ȥ�Ŭ�礷�� MIME �����פ����ä��Ϥ���õ���Ƥߤ褦��
rfc2046(jp) Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types ��ǥ���������
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2046j.ht ...
���ä���RFC 2046 �� 5.2.3. �����ܥǥ���External-Body�˥��֥����פ��������Ȥ��Ф����Τ���
RFC2046�ˤϥ��ꥸ�ʥ�Υե�����̾�Ҥ���ե�����ɤ��ꤷ�Ƥ��ʤ��褦���������ǡ�X-Original-File-Name �Ȥ����إå����դ���Base64 �ǥ����ɤ������ꥸ�ʥ�Υե�����̾�Ҥ���褦�ˤ�����
Content-Type �� name �����Хѥ��ǵ��ҡ��ɤ��ʤ����⤷��ʤ����ɡ����ȡ������ƥ�� Windows �ʤΤǥǥ��쥯�ȥ���ڤ�ʸ���� \ ��Ȥä����������̯���⡣
���Τ褦�ˤ��ơ�attachment\00080386.dat ��ź�եե�����Υǡ�������¸���Ƥ��뤳�Ȥ�ɽ���Ǥ��롣
- RFC2046�� External-Body
�Ȥ���ץ�����������档���Υץ������ϡ��ǡ����� MIME �ߴ���������¸���롣�ǡ����ˤ�ź�եե�����Τ褦�ʤ�Τ�ޤޤ�롣�Ŀ��ϲ��ѡ�MIME �� multipart/mixed ��Ȥ���ź�եե�����Υǡ�����ᥤ��Υǡ����˴ޤ�뤳�Ȥ��Ǥ��뤬������Ϥ������ʤ���ź�եե�����Υǡ������̤Υե��������¸����������ʬ�Ǥ������ä��ե����ޥåȤ��äƤ��ɤ����ɡ���ǽ�ʸ¤�ɸ��˽�������ˤ��Ƥ����������Τ�����Τ�ꤿ�����Ȥ�Ŭ�礷�� MIME �����פ����ä��Ϥ���õ���Ƥߤ褦��
rfc2046(jp) Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types ��ǥ���������
http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f/rfc2046j.ht ...
���ä���RFC 2046 �� 5.2.3. �����ܥǥ���External-Body�˥��֥����פ��������Ȥ��Ф����Τ���
- RFC2046�� External-Body �Υ���ץ�
RFC2046���ɤߤʤ��饵��ץ�����Content-Type �����ФƤ���Τ������ʴ�����RFC2046�ˤϥ��ꥸ�ʥ�Υե�����̾�Ҥ���ե�����ɤ��ꤷ�Ƥ��ʤ��褦���������ǡ�X-Original-File-Name �Ȥ����إå����դ���Base64 �ǥ����ɤ������ꥸ�ʥ�Υե�����̾�Ҥ���褦�ˤ�����
Content-Type �� name �����Хѥ��ǵ��ҡ��ɤ��ʤ����⤷��ʤ����ɡ����ȡ������ƥ�� Windows �ʤΤǥǥ��쥯�ȥ���ڤ�ʸ���� \ ��Ȥä����������̯���⡣
--------------050807090903030402050103
Content-Type: message/external-body;
access-type=local-file;
name="attachment\00080386.dat";
size=80386
Content-Type: application/octet-stream
Content-ID: BAa2YGktNCKZnJlLHg0NKlpaU9ov
X-Original-File-Name: Base64_ENCODED_FILE_NAME
--------------050807090903030402050103
���Τ褦�ˤ��ơ�attachment\00080386.dat ��ź�եե�����Υǡ�������¸���Ƥ��뤳�Ȥ�ɽ���Ǥ��롣
* RFC2045 Base64 �ǻ��Ѥ���ʸ���μ���
���ε�����ľ���URL: Permlink | ���ε�����°���륫�ƥ���: [���] [�ץ�����ߥ�] [RFC]
�Х��ʥ�ǡ�����ƥ����ȥǡ�����������ˤ褯�Ȥ��� Base64 �ˤĤ��ƤΥ�⡣
�ʲ������Ѥ���ʸ����
����� (26 * 2) + 10 + 2 = 64��
����64��������� Base64 �ʤΤ���= �����줿�� 65��������ɡ�
RFC 3548
http://suika.fam.cx/~wakaba/-temp/wiki/wiki?RFC%203548
�������ܸ��������롣
���ȤʤäƤ� RFC 3548�Ȥ��������ɤ��Ȼפ����ɡ���⡣
RFC 2045 �� 6.8 Base64 Content-Transfer-Encoding
http://www.akanko.net/marimo/data/rfc/rfc2045-jp.txt
- Base64 �ǻ��Ѥ���ʸ���μ���
��ʸ���Ⱦ�ʸ����ξ���Υ���ե��٥åȤȡ�0����9�ޤǤΥ���ӥ�������/ ����å���� + �ץ饹������˻Ȥ��� = ��������ϰ�Ԥ�ʸ��������ʤ��Ȥ��Υѥǥ���(�ͤ�ʪ)�Ȥ��ƻȤ����ʲ������Ѥ���ʸ����
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/+=
����� (26 * 2) + 10 + 2 = 64��
����64��������� Base64 �ʤΤ���= �����줿�� 65��������ɡ�
- Base64 �����ɸ�Υ�����
�ѿ����ȵ��������ɽ�����褦�Ȥ��뤿�ᡢBase64�����ɸ�Υǡ����Υ������ϡ����������Υǡ�������٤� 3ʬ��4�ܡ����ʤ�� ��133%�����礹�롣- Base64 �ˤĤ��Ƥ� RFC
Base64 �ˤĤ��Ƹ��ڤ��� RFC �ϡ�RFC 3548���ǿ������͡�RFC 3548
http://suika.fam.cx/~wakaba/-temp/wiki/wiki?RFC%203548
�������ܸ��������롣
���ȤʤäƤ� RFC 3548�Ȥ��������ɤ��Ȼפ����ɡ���⡣
RFC 2045 �� 6.8 Base64 Content-Transfer-Encoding
http://www.akanko.net/marimo/data/rfc/rfc2045-jp.txt
6.8. Base64 Content-Transfer-Encoding
Base64 Content-Transfer-Encoding �ϡ��ʹ�Ū���ɤߤ䤹��ɬ�פΤʤ�
�ե�����ˤ����ƥ����ƥåȤ�Ǥ�դΥ�������ɽ���褦���߷פ���Ƥ�
�롣��沽�Ȳ��ɤΥ��르�ꥺ��ϴ�ñ�Ǥ��롣��������沽���줿�ǡ���
����沽����ʤ��ǡ������ۤ�ζϤ�����33%�礭���ʤ롣RFC 1421 �ˤ�
����������줿�褦�ˡ�������沽�ϡ��¼�Ū�� Privacy Enhanced Mail
(PEM) ���ץꥱ�������˻Ȥ����Τ�Ʊ���Ǥ��롣
US-ASCII �Υ��֥��åȤ� 65ʸ����Ȥ���6�ӥåȤ������Ǥ��륭��饯
���Ȥ���ɽ�����Ȥ��ǽ�Ȥ����;ʬ����65�Υ���饯�� "=" �ϡ����̤�
��ǽ�������̣���뤿��˻Ȥ���ˡ�
���ջ���:
���Υ��֥��åȤϡ����줬����Ʊ���� ISO 646 (US-ASCII ��ޤ�)
�����ƤΥС���������ɽ��̳�����פʥץ��ѥƥ�����äƤ��ꡢ������
���֥��åȤˤ��������ƤΥ���饯���ϡ� EBCDIC �����ƤΥС������ˤ�
���Ƥ�����Ʊ����ɽ����롣�ޥå���ȥå��� binhex 4.0 [RFC-1741] ��
�ڤ� base85 ��沽�ϡ�Level 2 �ݥ��ȥ�����ץȤΰ����Ȥ��ơ�
�����ǥ��Τ褦��¾�Υݥԥ�顼����沽�� uuencode �桼�ƥ���
�ƥ��ˤ�äƻ��Ѥ������Ȥ���ꤷ���������λ�ʬ�ۤ��ʤ����ȡ���
���ơ����Τ���ΥХ��ʥ�ȥ�ݡ�����沽�������������ʤ����
�ʤ�ʤ��褦�ʲ�����������������ƤϤʤ�ʤ���
��沽�ץ������ϡ����Ĥ���沽���줿����ʸ�������ϥӥåȤΣ���
�ӥåȥ��롼�פ�ɽ�����Ƥ��롣�����鱦�ؽ����������ӥåȤ����ϥ��롼
�פϡ����ĤΣ��ӥå����ϥ��롼�פΥ������ˤ���������롣
������ 24�ӥåȤϡ�4�Ĥ�Ϣ�뤵�줿 6�ӥåȥ��롼�� (�ơ���base64
����ե��٥åȤˤ����� 1��ο������Ѵ������) �Τ褦�ˡ����λ������
�롣base64 ��沽��Ф��ӥåȥ��ȥ�����沽������ˤϡ��ӥåȤ�
���ȥ��ϡ��ǽ顢�Ǥ�¿�����פʥӥåȤˤ�ä�̿������ȿ��ꤵ��
�ʤ���Фʤ�ޤ����ʤ����ή��κǽ�ΥӥåȤϡ��⤤���������ӥ�
�Ȥκǽ��8�ӥåȥХ��ȤǤ��ꡢ8���ܤΥӥåȤϡ��㤤���������ӥåȤ�
�ǽ��8�ӥåȥХ��ȤʤɤǤ��롣
�� 6�ӥåȥ��롼�פϡ���Ϣ�� 64�Ĥΰ�����ǽ��ʸ���ؤΥ���ǥå���
�Ȥ��ƻȤ��롣����ǥå����ˤ�äƻ��Ȥ��դ���줿ʸ���ϡ�����ʸ��
������֤���롣����ɽ���˼�����������ʸ���ϡ�����Ū�˺���ǽ��
�褦������ơ����åȤϡ���ͭ�ΰ�̣�ˤ�äơ�RFC 2046�ˤ��������
���줿SMTP���㤨�С�"."��CR��LF�ˤ���ӥޥ���ѡ��Ȥζ����ǥ�ߥ���
ʸ������Ǥ�����㤨�� "-"�ˡ�
ɽ��: Base64 ����ե��٥å�
�� ��沽 �� ��沽 �� ��沽 �� ��沽
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (�����) =
15 P 32 g 49 x
16 Q 33 h 50 y
��沽���줿���ϥ��ȥ��ϡ��鷺�� 76ʸ�������ʤ��Ԥ�ɽ����ʤ�
��Фʤ�ʤ������٤Ƥβ��ԡ��ޤ���ɽ����ȯ������ʤ��ä�¾��ʸ���ϡ�
���եȥ������Dz��ɤ���ݤ�̵�뤵��ʤ���Фʤ�ʤ���base64 �ˤ����ơ�
�ǡ�����ɽ���ʳ��Υ���饯�������ԡ��ڤӡ�¾�ζ���ʸ���ϡ������餯��
�����顼(�ٹ��å��������ޤ��ϥ�å��������䤵���⡢�����餫�ξ�
���˱����Ƥ�Ŭ�ڤ�����)����
�⤷���� 24�ӥåȤ���沽���줿�ǡ����ν�������Ѳ�ǽ�Ǥ���ʤ顢
���̤ʽ������Ԥ��롣�����ʥ����ǥ����̤ϡ��ܥǥ��ν���Ǿ��
��������롣���� 24 ���ϥӥåȤ����ϥ��롼�פˤ��������Ѳ�ǽ�Ǥ����
���������ΥӥåȤϡ�ɬ�ܤο��� 6 �ӥåȥ��롼�פ�������뤿��˲ä�
����(����)���ǡ����ν���Υѥǥ���(�����)�ϡ�"=" ʸ�����Ѥ��ƹ�
���롣���Ƥ� base64 ���Ϥ�ɬ�ܤο��Υ����ƥåȤǤ���Τǡ����ξ��
�Τߤ������뤫�⤷��ʤ�: (1)���Ϥ���沽���뤳�Ȥκǽ����̤ϡ�24��
�åȤ�ɬ�ܤ��ܿ��Ǥ���; �����ǡ���沽���줿���Ϥκǽ��Υ�˥åȤϡ�
"=" �ѥǥ��ʤ��� 4ʸ����ɬ�ܤ��ܿ��Ǥ�������(2)���Ϥ���沽����
���Ȥκǽ����̤ϡ����礦�� 8�ӥåȤǤ���; �����ǡ���沽���줿���Ϥ�
�ǽ���˥åȤϡ�2�Ĥ� "=" �ѥǥ���ʸ����³���Ƥ��� 2ʸ���Ǥ�������
�⤷���� (3)���Ϥ���沽���뤳�Ȥκǽ����̤ϡ����礦�� 16�ӥåȤǤ�
��; �����ǡ���沽���줿���Ϥκǽ��Υ�˥åȤϡ�1�Ĥ� "=" �ѥǥ���
ʸ����³���Ƥ��� 3ʸ���Ǥ�������
���줬�ǡ����ν���η����ˤΤȤ���Τǡ������� "=" �����
������ȯ���ϡ��ǡ����ν������ã���� (�̲�ˤ�������Ƭ�ʤ���) �Ȥ���
�ڵ�Ȥ��ƹͤ���������������������㤦������줿�����ƥåȿ��� 3��
�ܿ��Ǥ��ꡢ�ɤ� "=" ʸ����̵�����ˤϡ����Τ褦���ݾڤ���ǽ�Ǥ��롣
base64 ����ե��٥åȰʳ��Τ�����ʸ���ϡ�base64 ��沽���줿�ǡ�
���ˤ����Ƥ�̵�뤵��ͤФʤ�ʤ���
base64 ��沽��ľ�������Υե�������Ѵ�����ʤ��ä��ƥ����Ⱥ�����
Ŭ�Ѥ����ʤ�С����Ԥ�Ŭ���������ƥåȤ�Ȥ���������դ��Ԥ��ʤ�
��Фʤ�ʤ����äˡ��ƥ����Ȳ��Ԥϡ�base64 ��沽������ CRLF ������
���Ѵ�����Ƥ��ʤ���Фʤ�ʤ������פ��������Ȥ��ơ����줬������
���μ���(����ץ����)�ˤ������������������ƥåפˤ����Ƥ�ꡢ�ष
��ľ����沽����(������)�ˤ�äƹԤ��뤫�⤷��ʤ����ȤǤ��롣
���ջ���:
base64 ��沽�λ��˥ϥ��ե�ʸ���������Ȥ��ʤ��Τǡ��ޥ���ѡ���
�ʥ���ƥ��ƥ���� base64��沽�ܥǥ��������Ū�ʶ����ǥ�ߥ��ˤĤ�
��Ǻ��ɬ�פϤʤ���
* RFC2616 Hypertext Transfer Protocol -- HTTP/1.1 ���ܸ���
http://www.aurora.dti.ne.jp/~zom/mng/mng_spec.html ��ꡣ
�������Ԥ���� EXPECTED
�����侩����� RECOMMENDED
�����⤷��ʤ� MIGHT, MAY(��)
�����ƤϤʤ�ʤ� MUST NOT, CANNOT
�����Ƥ��ɤ� CAN, MAY(��)
�����٤��Ǥ��� SHOULD
�����٤��Ǥʤ� SHOULD NOT
�����ͤФʤ�ʤ� MUST
���Ǥ��� CAN
�տ�Ū�ʡ�Ǥ�դΡ����ץ����� OPTIONAL
�������롦���ᤵ��� REQUIRED
��������ʤ� NOT ALLOWED, NOT PERMITTED
��������� ALLOWED, PERMITTED
�������Ԥ���� EXPECTED
�����侩����� RECOMMENDED
�����⤷��ʤ� MIGHT, MAY(��)
�����ƤϤʤ�ʤ� MUST NOT, CANNOT
�����Ƥ��ɤ� CAN, MAY(��)
�����٤��Ǥ��� SHOULD
�����٤��Ǥʤ� SHOULD NOT
�����ͤФʤ�ʤ� MUST
���Ǥ��� CAN
�տ�Ū�ʡ�Ǥ�դΡ����ץ����� OPTIONAL
�������롦���ᤵ��� REQUIRED
��������ʤ� NOT ALLOWED, NOT PERMITTED
��������� ALLOWED, PERMITTED