X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-ja.sgml;h=7afcd96b3f8122ad2a4a8988e22f5a9074ff14d7;hb=2705bffeacccea18de17e2aeeacf03b7bc2e3ca9;hp=44bf836e1bd8d23952d2dd9c372379c6ac2b8f8c;hpb=6fab2a0b6f8175c002aebef075b119ed97bba2f3;p=elisp%2Fflim.git diff --git a/mime-ja.sgml b/mime-ja.sgml index 44bf836..7afcd96 100644 --- a/mime-ja.sgml +++ b/mime-ja.sgml @@ -1,6 +1,6 @@ -FLIM 1.8 MIME $B5!G=@bL@=q(B +<title>FLIM 1.10 MIME $B5!G=@bL@=q(B <author>$B<i2,(B $BCNI'(B <mail>morioka@jaist.ac.jp</mail> <date>1998/07/01 @@ -47,15 +47,58 @@ field $B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"(BMIME $B$GDj5A$5$l$?(B head field $B0J30$NA4$F$N(B header $B$H(B body $B$r;X$98l$H$7$F(B <concept>entity</concept>$B$rMQ$$$k$3$H$K$7$^$9!#(B <p> -RFC 2045 $B$NDj5A$O!"(BMIME message $B$,(B entity $B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r(B -$B<($7$F$$$^$9!#(Bmessage $B$O2<?^$G<($9$h$&$JLZ$H$J$j!"(Bentity $B$O$3$NLZ$K$*$1(B -$B$k@a$H$J$j$^$9!#$D$^$j!"(BMIME $B$O(B message $B$rLZ9=B$$K3HD%$7$?Lu$G$9!#(B +RFC 2045 $B$NDj5A$O!"(BMIME message $B$,(B entity $B$r@a$H$9$kLZ9=B$$G$"$k$3$H$r(B +$B<($7$F$$$^$9!#$D$^$j!"(BMIME $B$O(B message $B$rLZ9=B$$K3HD%$7$?Lu$G$9!#(B <p> FLIM $B$O(B entity $B$N>pJs$rI=8=$9$k$?$a$K(B<concept>mime-entity</concept> $B9=(B $BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K(B mime-entity $B$H8F$V$3$H$K$7$^$9!#(B + + +<h2> Entity $B$N@8@.(B +<node> Entity creation +<p> +<defun name="mime-open-entity"> + <opts> type location +<p> +Open an entity and return it. +<p> +<var>type</var> is representation-type. <cf node="mm-backend"> +<p> +<var>location</var> is location of entity. Specification of it is +depended on representation-type. +</defun> + +<defun name="mime-parse-buffer"> + <opts> buffer type +<p> +<var>buffer</var> $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity +$B$r(B <var>buffer</var> $B$N(B<code>mime-message-structure</code> $B$K3JG<$9$k!#(B +<p> +<var>buffer</var> $B$,>JN,$5$l$?>l9g!"8=:_$N(B buffer $B$r9=J82r@O$9$k!#(B +<p> +<var>type</var> $B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k(B mime-entity $B$NI=(B +$B>]7?$H$7$FMQ$$$k!#>JN,$5$l$?>l9g$O(B <var>buffer</var> $B$H$J$k!#(B<cf +node="mm-backend"> +</defun> + + +<h2> Entity $B3,AX(B +<node> Entity hierarchy +<p> +MIME message $B$O(B entity $B$rC10L$H$9$kLZ9=B$$K$J$C$F$$$^$9!#(B +<p> +$B$3$NLZ$K$*$$$F:,$H$J$k@a$O(B message $BA4BN$rI=$9(B entity $B$G$9!#$3$3$G$O!"(B +$B$3$l$r(B <concept>root-entity</concept> $B$b$7$/$O(B +<concept>message</concept> $B$H8F$S$^$9!#(B <p> -$BA0=R$N$h$&$K!"(Bmessage $BCf$N3F(B entity $B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O(B -$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"(B +root-entity $B0J30$N(B entity $B$O?F$r;}$A$^$9!#$^$?!"(Bentity $B$O;R6!$r;}$D$+(B +$B$bCN$l$^$;$s!#$3$N?F;R4X78$r9M$($k$3$H$G(B entity $B$NAjBP4X78$r07$&$3$H$,(B +$B$G$-$^$9!#(B +<p> +$B0lJ}!"(Bentity $B$N(B message $B$K$*$1$k0LCV$r9M$($k$3$H$b$G$-$^$9!#(B +<p> +entity $B$O$3$NLZ$K$*$1$k@a$H$J$j$^$9$,!"$3$NLZ$K$O?<$5$HF1$8?<$5$NCf$N(B +$B=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"(B <verb> $B(#(!(!(!($(B @@ -83,111 +126,10 @@ node-id $B$O$A$g$&$I(B entity-number $B$r5U$K$7$?%j%9%H$G!"(Bentity-number $BA0=R$N$h$&$K!"(BMIME message $B$O(B entity $B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"(B $B$3$N:,$G$"$k(B message $BA4BN$b(B mime-entity $B$GI=8=$9$k$3$H$,$G$-!"(Bbuffer local $BJQ?t(B <code>mime-message-structure</code> $B$K3JG<$9$k$3$H$K$7$^$9!#(B -$B$=$7$F!"(Bentity-number $B$d(B node-id $B$rMQ$$$k$3$H$G(B -<code>mime-message-structure</code> $B$K$*$1$k(B entity $B$NAjBPE*$J0LCV4X78$r(B -$B07$&$3$H$,$G$-$^$9!#(B - - -<!-- <h2> mime-entity $B9=B$BN(B --> -<!-- <node> mime-entity --> -<!-- <p> --> -<!-- <define type="Structure" name="mime-entity"> --> -<!-- <p> --> -<!-- entity $B$K4X$9$k>pJs$r<}$a$k9=B$BN!#(B --> -<!-- <p> --> -<!-- $B$3$N9=B$BN$r;2>H$9$k$K$O(B <code>mime-entity-$BMWAGL>(B</code> $B$H$$$&L>A0$N;2(B --> -<!-- $B>H4X?t$rMQ$$$k!#(B --> -<!-- <p> --> -<!-- $B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'(B --> - -<!-- <vl> --> -<!-- <dt>buffer<dd>entity $B$,B8:_$9$k(B buffer (buffer) --> -<!-- </dd> --> -<!-- <dt>header-start<dd>entity $B$NB8:_$9$k(B buffer $B$K$*$1$k(B header $B$N@hF,0LCV(B --> -<!-- (point) --> -<!-- </dd> --> -<!-- <dt>header-end<dd>entity $B$NB8:_$9$k(B buffer $B$K$*$1$k(B header $B$NKvHx0LCV(B --> -<!-- (point) --> -<!-- </dd> --> -<!-- <dt>body-start<dd>entity $B$NB8:_$9$k(B buffer $B$K$*$1$k(B body $B$N@hF,0LCV(B --> -<!-- (point) --> -<!-- </dd> --> -<!-- <dt>body-end<dd>entity $B$NB8:_$9$k(B buffer $B$K$*$1$k(B body $B$NKvHx0LCV(B --> -<!-- (point) --> -<!-- </dd> --> -<!-- <dt>node-id<dd>entity $B$N(B node-id ($B@0?t$N(B list) --> -<!-- </dd> --> -<!-- <dt>content-type<dd><dref>Content-Type</dref> $BMs$N>pJs(B --> -<!-- (mime-content-type) --> -<!-- </dd> --> -<!-- <dt>content-disposition<dd><dref>Content-Disposition</dref> $BMs$N>pJs(B --> -<!-- (mime-content-disposition) --> -<!-- </dd> --> -<!-- <dt>encoding<dd>entity $B$N(B <dref>Content-Transfer-Encoding</dref> ($BJ8;zNs(B) --> -<!-- </dd> --> -<!-- <dt>children<dd>entity $B$K4^$^$l$k(B entity $B$N(B list (mime-entity $B$N(B --> -<!-- list) --> -<!-- </dd> --> -<!-- </vl> --> - -<!-- <p> --> -<!-- $B$^$?!"2a5n$H$N8_49@-$N$?$a!"0J2<$NMWAGL>$N;2>H4X?t$bMxMQ2DG=$G$"$k!#(B --> - -<!-- <vl> --> -<!-- <dt>type/subtype<dd>entity $B$N(B type/subtype ($BJ8;zNs(B) --> -<!-- </dd> --> -<!-- <dt>media-type<dd>entity $B$N(B media-primary-type (symbol) --> -<!-- </dd> --> -<!-- <dt>media-subtype<dd>entity $B$N(B media-subtype (symbol) --> -<!-- </dd> --> -<!-- <dt>parameters<dd>entity $B$N(B Content-Type $BMs$N(B parameter ($BO"A[(B list) --> -<!-- </dd> --> -<!-- </vl> --> -<!-- </define> --> - -<!-- <defun name="make-mime-entity"> --> -<!-- <args> buffer header-start header-end body-start body-end --> -<!-- <opts> node-id content-type content-disposition encoding --> -<!-- children --> -<!-- <p> --> -<!-- entity $B$N@8@.;R!#(B --> -<!-- </defun> --> - - -<h2> Entity $B$N@8@.(B -<node> Entity creation -<p> -<defun name="mime-open-entity"> - <opts> type location <p> -Open an entity and return it. -<p> -<var>type</var> is representation-type. -<p> -<var>location</var> is location of entity. Specification of it is -depended on representation-type. -</defun> +<code>mime-message-structure</code> $B$r5/E@$K(B entity-number $B$d(B node-id +$B$G<($5$l$k(B entity $B$r<h$j=P$9$3$H$,$G$-$^$9!#(B -<defun name="mime-parse-message"> - <opts> default-ctl node-id -<p> -$B8=:_$N(B buffer $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity $B$rJV(B -$B$9!#(B -</defun> - -<defun name="mime-parse-buffer"> - <opts> buffer -<p> -<var>buffer</var> $B$r(B message $B$H$7$F9=J82r@O$7!"$=$N7k2L$N(B mime-entity -$B$r(B <var>buffer</var> $B$N(B<code>mime-message-structure</code> $B$K3JG<$9$k!#(B -<p> -<var>buffer</var> $B$,>JN,$5$l$?>l9g!"8=:_$N(B buffer $B$r9=J82r@O$9$k!#(B -</defun> - - -<h2> Entity $B3,AX(B -<node> Entity hierarchy -<p> <defvar name="mime-message-structure"> <p> $B8=:_$N(B buffer $B$K$*$1$k(B message $BA4BN$N(B mime-entity $B9=B$BN$r3JG<$9$k(B @@ -266,14 +208,18 @@ node="mime-content-disposition"> <defun name="mime-entity-filename"> <args> entity <p> -Entity $B$N(B file $BL>$rJV$9!#(B +<var>entity</var> $B$N(B file $BL>$rJV$9!#(B </defun> <defun name="mime-entity-encoding"> - <args> entity + <args> entity <opts> default-encoding <p> <var>entity</var> $B$N(B content-transfer-encoding $B$rJV$9!#(B<cf node="Content-Transfer-Encoding"> +<p> +$B$b$7!"(B<var>entity</var> $B$K(B Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l(B +$B9g$O!"(B<var>default-encoding</var> $B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"(B +<code>"7bit"</code> $B$rMQ$$$k!#(B </defun> <defun name="mime-entity-cooked-p"> @@ -297,7 +243,7 @@ code-converted. <var>entity</var> $B$,>JN,$5$l$?>l9g$O!"(B <code>mime-message-structure</code> $B$NCM$rMQ$$$k!#(B <p> -<var>field-name</var> $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B +<var>field-name</var> $BMs$,B8:_$7$J$$>l9g$O(B <code>nil</code> $B$rJV$9!#(B </defun> <defun name="mime-read-field"> @@ -317,7 +263,11 @@ code-converted. <var>field-name</var> $BMs$,B8:_$7$J$$>l9g$O(B nil $B$rJV$9!#(B </defun> -<defun name="mime-insert-decoded-header"> + +<h2> Entity $B$NJ8;zI=8=(B +<node> entity formatting +<p> +<defun name="mime-insert-header"> <args> entity <opts> invisible-fields visible-fields <p> $B8=:_0LCV$K(B <var>entity</var> $B$NI|9f$7$?(B header $B$rA^F~$9$k!#(B @@ -327,9 +277,32 @@ list $B$G!"$=$l$>$l!"I=<($7$?$/$J$$(B field $BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$ $B$G$"$k!#(B <p> <var>invisible-fields</var> $B$NMWAG$N$I$l$+$K(B match $B$7!"$+$D!"(B -<var>visible-fields</var> $B$NMWAG$N$I$l$K$b(B match $B$7$J$$Ms$OI=<($5$l$J$$!#(B +<var>visible-fields</var> $B$NMWAG$N$I$l$K$b(B match $B$7$J$$Ms$OI=<($5$l$J(B +$B$$!#(B +<p> +<dref>encoded-word</dref> $B$OI|9f$5$l$k!#!X@8$NHs(B us-ascii $BJ8;z!Y$O(B +<code>default-mime-charset</code> $B$H$7$F2r<a$5$l$k!#(B </defun> +<defun name="mime-insert-text-content"> + <args> entity +<p> +Insert before point a contents of <var>entity</var> as text entity. +<p> +Contents of the <var>entity</var> are decoded as <dref>MIME +charset</dref>. If the <var>entity</var> does not have charset +parameter of Content-Type field, <code>default-mime-charset</code> is +used as default value. +</defun> + +<defvar name="default-mime-charset"> +<p> +$BE,@Z$J(B <dref>MIME charset</dref> $B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k(B +MIME charset. +<p> +$BK\Mh$O(B APEL $B$NJQ?t$G$"$k!#(B +</defvar> + <h2> Entity $B$NFbMF(B <node> Entity-content @@ -411,6 +384,80 @@ Write body of <var>entity</var> into <var>filename</var>. </defun> +<h2> Entity $B$NI=8=$H<B8=(B +<node> mm-backend +<p> +Entity $B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F(B +$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#(B +<p> +$B$3$3$G!"(Bentity $B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,(B +<concept>representation-type</concept> $B$G!"(Bentity $B$r@8@.$9$k;~$K$O$3$l$r(B +$B;XDj$7$^$9!#(B<cf node="Entity Creation"> +<p> +$BA0@a$^$G$K=R$Y$FMh$?(B entity $B$KBP$9$k=hM}$O!"(Bentity $B$KBP$7$F$=$N=hM}$r0M(B +$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#(BEntity $B$O<+J,$N(B +representation-type $B$rCN$C$F$*$j!"$=$N(B representation-type $B$K1~$8$F<B:](B +$B$N=hM}$r9T$&4X?t$r8F$S=P$7$^$9!#$3$N$h$&$J4X?t$r(B <concept>entity $B=hM}(B +method</concept> $B$H8F$S$^$9!#$^$?!"(Brepresentation-type $BKh$K$3$N$h$&$J4X(B +$B?t$r$^$H$a$?$b$N$r(B <concept>mm-backend</concept> $B$H8F$S$^$9!#(B +<p> +mm-backend $B$O(B representation-type $B$NL>A0$N@hF,$K(B <code>mm</code> $B$H$$$&(B +$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k(B module $B$G!"$=$N(B module $BL>$OF1MM$K(B +representation-type $B$NL>A0$N@hF,$K(B <code>mm</code> $B$rIU$1$?$b$N$K$J$C$F(B +$B$$$^$9!#$3$N(B module $B$O(B representation-type $B$N(B entity $B$,:G=i$K@8@.$5$l$k(B +$B;~$K<+F0E*$K(B require $B$5$l$^$9!#(B + + +<h3> Entity $B$X$NJX$j(B +<node> Request for entity +<p> +<defun name="mime-entity-send"> + <args> entity message <rest> args +<p> +<var>entity</var> $B$K(B <var>message</var> $B$rAw$k!#(B +<p> +<var>args</var> $B$O(B <var>message</var> $B$N0z?t$G$"$k!#(B +</defun> + + +<h3> mm-backend $B$N:n$jJ}(B +<node> mm-backend module +<p> +<defmacro name="mm-define-backend"> +<args> type +<opts> parents +<p> +Define <var>type</var> as a mm-backend. +<p> +If <var>PARENTS</var> is specified, <var>type</var> inherits parents. +Each parent must be representation-type. +<p> +Example: +<p> +<lisp> +(mm-define-backend chao (generic)) +</lisp> +</defmacro> + +<defmacro name="mm-define-method"> +<args> name args <rest> body +<p> +Define <var>name</var> as a method function of (nth 1 (car +<var>args</var>)) backend. +<p> +<var>args</var> is like an argument list of lambda, but (car +<var>args</var>) must be specialized parameter. (car (car +<var>args</var>)) is name of variable and (nth 1 (car +<var>args</var>)) is name of backend (representation-type). +<p> +Example: +<p> +<lisp> +(mm-define-method entity-cooked-p ((entity chao)) nil) +</lisp> +</defmacro> + + <h1> Content-Type $BMs$N>pJs(B <node> Content-Type <p> @@ -642,8 +689,8 @@ Content-Transfer-Encoding $BMs$,B8:_$7$J$$>l9g$O(B </defun> -<h2> $BNN0h$NId9f2=!&I|9f2=(B -<node> Region encoder/decoder +<h2> $BId9f2=!&I|9f2=(B +<node> encoder/decoder <p> <defun name="mime-encode-region"> <args> start end encoding @@ -659,49 +706,14 @@ Decode region <var>start</var> to <var>end</var> of current buffer using <var>encoding</var>. </defun> -<defvar name="mime-encoding-method-alist"> -<p> -Alist of encoding vs. corresponding method to encode region. -<p> -Each element looks like <code>(STRING . FUNCTION)</code> or -<code>(STRING . nil)</code>. <var>string</var> is -content-transfer-encoding. <code>function</code> is region encoder -and <code>nil</code> means not to encode. -</defvar> -<defvar name="mime-decoding-method-alist"> -<p> -Alist of encoding vs. corresponding method to decode region. -<p> -Each element looks like <code>(STRING . FUNCTION)</code> or -<code>(STRING . nil)</code>. <var>string</var> is -content-transfer-encoding. <code>function</code> is region decoder -and <code>nil</code> means not to decode. -</defvar> - - -<h2> $BJ8;zNs$NId9f2=!&I|9f2=(B -<node> String encoder/decoder -<p> <defun name="mime-decode-string"> <args> string encoding <p> <var>string</var> $B$r(B <var>encoding</var> $B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#(B </defun> -<defvar name="mime-string-decoding-method-alist"> -<p> -Alist of encoding vs. corresponding method to decode string. -<p> -Each element looks like <code>(STRING . FUNCTION)</code>. -STRING is content-transfer-encoding. -FUNCTION is string decoder. -</defvar> - -<h2> File $B$NId9f2=!&I|9f2=(B -<node> File encoder/decoder -<p> <defun name="mime-insert-encoded-file"> <args> filename encoding <p> @@ -717,24 +729,102 @@ Decode and write current region encoded by <var>encoding</var> into <var>start</var> and <var>end</var> are buffer positions. </defun> -<defvar name="mime-file-encoding-method-alist"> + +<h2> Other utilities +<node> Encoding information <p> -Alist of encoding vs. corresponding method to insert encoded file. +<defun name="mime-encoding-list"> + <opts> SERVICE <p> -Each element looks like <code>(STRING . FUNCTION)</code>. STRING is -content-transfer-encoding. FUNCTION is function to insert encoded -file. -</defvar> +Return list of Content-Transfer-Encoding. +<p> +If <var>service</var> is specified, it returns available list of +Content-Transfer-Encoding for it. +</defun> -<defvar name="mime-file-decoding-method-alist"> +<defun name="mime-encoding-alist"> + <opts> SERVICE <p> -Alist of encoding vs. corresponding method to write decoded region to -file. +Return table of Content-Transfer-Encoding for completion. <p> -Each element looks like <code>(STRING . FUNCTION)</code>. STRING is -content-transfer-encoding. FUNCTION is function to write decoded -region to file. -</defvar> +If <var>service</var> is specified, it returns available list of +Content-Transfer-Encoding for it. +</defun> + + +<h2> How to write encoder/decoder module +<node> mel-backend +<p> +<defmacro name="mel-define-method"> +<args> name args <rest> body +<p> +Define <var>name</var> as a method function of (nth 1 (car (last +<var>args</var>))) backend. +<p> +<var>args</var> is like an argument list of lambda, but (car (last +<var>args</var>)) must be specialized parameter. (car (car (last +<var>args</var>))) is name of variable and (nth 1 (car (last +<var>args</var>))) is name of backend (encoding). +<p> +Example: +<p> +<lisp> +(mel-define-method mime-write-decoded-region (start end filename + (nil "base64")) + "Decode and write current region encoded by base64 into FILENAME. +START and END are buffer positions." + (interactive + (list (region-beginning) (region-end) + (read-file-name "Write decoded region to file: "))) + (let ((str (buffer-substring start end))) + (with-temp-buffer + (insert (decode-base64-string str)) + (write-region-as-binary (point-min) (point-max) filename) + ))) +</lisp> +</defmacro> + +<defmacro name="mel-define-method-function"> +<args> spec function +<p> +Set <var>spec</var>'s function definition to <var>function</var>. +<p> +First element of <var>spec</var> is service. +<p> +Rest of <var>args</var> is like an argument list of lambda, but (car +(last <var>args</var>)) must be specialized parameter. (car (car +(last <var>args</var>))) is name of variable and (nth 1 (car (last +<var>args</var>))) is name of backend (encoding). +<p> +Example: +<p> +<lisp> +(mel-define-method-function (mime-encode-string string (nil "base64")) + 'encode-base64-string) +</lisp> +</defmacro> + + +<h2> How to add encoding/decoding service +<node> generic function for mel-backend +<p> +<defmacro name="mel-define-service"> +<args> name +<opts> args doc-string +<p> +Define <var>name</var> as a service for Content-Transfer-Encodings. +<p> +If <var>args</var> is specified, <var>name</var> is defined as a +generic function for the service. +<p> +Example: +<p> +<lisp> +(mel-define-service encoded-text-encode-string (string encoding) + "Encode STRING as encoded-text using ENCODING. +ENCODING must be string.") +</lisp> +</defmacro> <h1> Header $B$N(B network $BI=8=(B @@ -790,14 +880,6 @@ MIME $B4XO"5!G=$K4X$9$k(B group. <code>mail</code> $B$H(B <code>news</code> $B$KB0$9$k!#(B </define> -<defvar name="default-mime-charset"> -<p> -$BE,@Z$J(B <dref>MIME charset</dref> $B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k(B -MIME charset. -<p> -$BK\Mh$O(B APEL $B$NJQ?t$G$"$k!#(B -</defvar> - <defvar name="mime-temp-directory"> <p> MIME $B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k(B file $B$r:n@.$9$k(B directory. @@ -879,21 +961,6 @@ data $B$O(B <a node="binary"><concept>binary</concept></a> $B$H8F$V$3$H$K$9( $B$"$k!#(B -<h3> Base64 -<node> Base64 -<p> -<dref>RFC 2045</dref> $B$GDj5A$5$l$F$$$k(B <dref>MIME</dref> $B$K$*$1$k(B <a -node="binary">binary data</a> $B$N(B network $B$G$NJQ49K!$N#1$D!#(B -<p> -$B!X(B64 $B?J?t!Y$H$$$&0UL#$G!"(B3 byte $B$N(B data $B$r(B 0 $B$+$i(B 63 $B$N?t$rI=$9(B -<dref>ASCII</dref> 4 $BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"(B4 $BJ8;z$K$J$i$J$1$l$P(B -<concept>pad</concept> $B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K(B -<p> -$B$3$N(B 65 $B<oN`$NJ8;z$O(B ASCII $B$H(B EBCDIC $B$N6&DLItJ,$+$iA*$P$l$F$*$j!"(B -Internet $B0J30$N(B network $B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5(B -$B$l$F$$$k!#(B - - <h3> ASCII <node> ASCII <p> @@ -906,10 +973,19 @@ A-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(BISO 646 $B$N0l$ number="ANSI X3.4" year="1986"> -<h3> Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B -<node> Coded character set +<h3> Base64 +<node> Base64 <p> -$BJ8;z$H(B byte $BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#(B +<dref>RFC 2045</dref> $B$GDj5A$5$l$F$$$k(B <dref>MIME</dref> $B$K$*$1$k(B <a +node="binary">binary data</a> $B$N(B network $B$G$NJQ49K!$N#1$D!#(B +<p> +$B!X(B64 $B?J?t!Y$H$$$&0UL#$G!"(B3 byte $B$N(B data $B$r(B 0 $B$+$i(B 63 $B$N?t$rI=$9(B +<dref>ASCII</dref> 4 $BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"(B4 $BJ8;z$K$J$i$J$1$l$P(B +<concept>pad</concept> $B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K(B +<p> +$B$3$N(B 65 $B<oN`$NJ8;z$O(B ASCII $B$H(B EBCDIC $B$N6&DLItJ,$+$iA*$P$l$F$*$j!"(B +Internet $B0J30$N(B network $B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5(B +$B$l$F$$$k!#(B <h3> binary @@ -927,6 +1003,12 @@ A-Z, a-z $B$N(B Latin $BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#(BISO 646 $B$N0l$ data $B$r;X$9$3$H$,$"$k!#(B +<h3> Coded character set$B!JId9f2=J8;z=89g!K(B, Character code$B!JJ8;zId9f!K(B +<node> Coded character set +<p> +$BJ8;z$H(B byte $BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#(B + + <h3> media-type <node> media-type <p> @@ -934,7 +1016,7 @@ data $B$r;X$9$3$H$,$"$k!#(B <concept>primary-type</concept> $B$H(B <concept>subtype</concept> $B$+$i$J$k!#(B <dref>RFC 2046</dref> $B$GDj5A$5$l$F$$$k!#(B <p> -type $B$OI8=`$G$O(B +primary-type $B$OI8=`$G$O(B <ul> <li><concept>text</concept>