# 話ã MIME ã«åãã ã®ã§ãfj.net.mime ã«ãã¯ãã¹ãã¹ãããŸãã
# Follow å
ã¯é©å®åã£ãŠãã ããã
Shinji KONO wrote:
> ãããããã¯å²ããšå€§å€ã§ãããMIME header ã¯ç©ºçœãšæ¹è¡ã®
> æ±ãã«ãããã³ã«äžã®æ¬ é¥ãããã®ã§å®å
šãªå¯Ÿå¿ã¯äžå¯èœã§ãã
> 劥åããªããšã
ãã®èŸºã®è©³çްããæç€ºé¡ããŸããã§ããããïŒãæ±ãããããããã®ã¯ãããã®
ã§ãããRFC 2047 ãèŠãéãæ¬ é¥ãšããé¢šã«æãããšããã«ã¯æ°ãã€ããªãã£
ãã®ã§âŠâŠã
> nkf ã«ã¯ mime encode ã¯å
¥ããŠãªãããå€éšã³ãã³ããªãããã€
> ãããã¯ãã§ããã©ãmetamail ã¯å€ãããMH ã® mhn ãšãã:-p
nkf ã£ãŠæåãªããŒã«ã ãšããããšã¯ç¥ã£ãŠããã®ã§ãããæ²³éãããéçºè
ã®
ãäžäººã ãšãä»ååããŠç¥ããŸããã-_-;
# ããã ãããé UNIX User ã¯âŠâŠã
--
Masanori HATA
In article <dn3oc8$366$1...@caraway.media.kyoto-u.ac.jp>, Masanori HATA wrote:
>çã§ãã
>
># 話ã MIME ã«åãã ã®ã§ãfj.net.mime ã«ãã¯ãã¹ãã¹ãããŸãã
># Follow å
ã¯é©å®åã£ãŠãã ããã
>
>Shinji KONO wrote:
>> ãããããã¯å²ããšå€§å€ã§ãããMIME header ã¯ç©ºçœãšæ¹è¡ã®
>> æ±ãã«ãããã³ã«äžã®æ¬ é¥ãããã®ã§å®å
šãªå¯Ÿå¿ã¯äžå¯èœã§ãã
>> 劥åããªããšã
>
>ãã®èŸºã®è©³çްããæç€ºé¡ããŸããã§ããããïŒãæ±ãããããããã®ã¯ãããã®
>ã§ãããRFC 2047 ãèŠãéãæ¬ é¥ãšããé¢šã«æãããšããã«ã¯æ°ãã€ããªãã£
>ãã®ã§âŠâŠã
é·ãå Žåã¯åå²ããªããã°ãªããŸããããïŒè€æ°ã® encoded word ã®åŠçã¯å¿
é
ã§ãïŒãã® encoded words ã®éã®ç©ºçœé¡ã®åŠçãåé¡ã«ãªããŸãïŒ
èªå·±ççŸããããã«ã¯ãããŸããããïŒäžèšç©ºçœé¡ã®åŠçã«é¢ããŠïŒ
ïŒïŒç¬Šå·åæã« encode ããŠããŸãïŒåŸ©å·æã«ã¯åé€ããïŒ
ïŒïŒç¬Šå·åæã«æ®ãïŒåŸ©å·æã«ãæ®ãïŒencoded word ã«ã¯ç©ºçœã¯å
¥ããªã)ïŒ
ïŒâïŒç¬Šå·åæã«æ®ãïŒåŸ©å·æã«ã¯äžåã«ããŠããŸãïŒ
ã®ïŒçš®é¡äœãèããããŸããïŒã©ã®æ¹æ³ã§ãäœããã®åé¡ãèµ·ããŸãïŒ
>ã¢ãžã¥ãŒã«åŽãèªåã§ïŒæãè¿ããèæ
®ã«å
¥ããŠïŒ
>MIME ãããåïŒãã ããUS-ASCII ãå«ããŠäžžããš MIME ãããåããææãã¯
>ããªãããæ¹ã§ïŒããŠããããããªãã®ãäœãããšããŠããŸãã
äŸãã°ïŒãã®èšè¿°ããçããã¯ïŒïŒãæ¡çšããããã€ããã®ããã§ããïŒããã§
ããšïŒïŒã®æ¹éã®ãã®ã埩å·ããæã«åèªéã®ç©ºçœãç¡ããªã£ãŠããŸããŸãïŒ
--
Hideki Kato <mailto:ka...@pop12.odn.ne.jp>
----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
Hideki Kato wrote:
>>>ãããããã¯å²ããšå€§å€ã§ãããMIME header ã¯ç©ºçœãšæ¹è¡ã®
>>>æ±ãã«ãããã³ã«äžã®æ¬ é¥ãããã®ã§å®å
šãªå¯Ÿå¿ã¯äžå¯èœã§ãã
>>>劥åããªããšã
>>
>>ãã®èŸºã®è©³çްããæç€ºé¡ããŸããã§ããããïŒãæ±ãããããããã®ã¯ãããã®
>>ã§ãããRFC 2047 ãèŠãéãæ¬ é¥ãšããé¢šã«æãããšããã«ã¯æ°ãã€ããªãã£
>>ãã®ã§âŠâŠã
>
> é·ãå Žåã¯åå²ããªããã°ãªããŸããããïŒè€æ°ã® encoded word ã®åŠçã¯å¿
é
> ã§ãïŒãã® encoded words ã®éã®ç©ºçœé¡ã®åŠçãåé¡ã«ãªããŸãïŒ
>
> èªå·±ççŸããããã«ã¯ãããŸããããïŒäžèšç©ºçœé¡ã®åŠçã«é¢ããŠïŒ
> ïŒïŒç¬Šå·åæã« encode ããŠããŸãïŒåŸ©å·æã«ã¯åé€ããïŒ
> ïŒïŒç¬Šå·åæã«æ®ãïŒåŸ©å·æã«ãæ®ãïŒencoded word ã«ã¯ç©ºçœã¯å
¥ããªã)ïŒ
> ïŒâïŒç¬Šå·åæã«æ®ãïŒåŸ©å·æã«ã¯äžåã«ããŠããŸãïŒ
> ã®ïŒçš®é¡äœãèããããŸããïŒã©ã®æ¹æ³ã§ãäœããã®åé¡ãèµ·ããŸãïŒ
> äŸãã°ïŒãã®èšè¿°ããçããã¯ïŒïŒãæ¡çšããããã€ããã®ããã§ããïŒããã§
> ããšïŒïŒã®æ¹éã®ãã®ã埩å·ããæã«åèªéã®ç©ºçœãç¡ããªã£ãŠããŸããŸãïŒ
RFC 2047 ã®ã6.2. Display of 'encoded-word'sãã«ãããš
> When displaying a particular header field that contains multiple
> 'encoded-word's, any 'linear-white-space' that separates a pair of
> adjacent 'encoded-word's is ignored. (This is to allow the use of
> multiple 'encoded-word's to represent long strings of unencoded text,
> without having to separate 'encoded-word's where spaces occur in the
> unencoded text.)
ãšãªã£ãŠããŠããencoded-word ãš encoded-word ã®éã®ç©ºçœæåã¯è¡šç€ºæã«ç¡
èŠãããããšæžããŠããã®ã§ãåŸ©å·æã®æåã«é¢ããŠã¯ã¯ïŒïŒã®æ¹éãïŒRFC
çïŒæšæºã ãšèããŠããŸããã
ãŸãããã®åŸ©å·æã®æ¹éãåæãšããŠã笊å·åæã®æåã«é¢ããŠã¯ãïŒencode
ãããæååã«æãŸããïŒç©ºçœæåãå
å
ã㊠encode ããŠããŸã£ãåŸãå
ãã
ãã£ãïŒäŸãã° subject ã®åæãšããŠååšããïŒç©ºçœæåãšã¯å¥åã«ãencoded
-word ãš encoded-word ã separate ããããã®ããªãã¿ãšããŠã®ç©ºçœæåãæ°
ãã«è¿œå ããŠæçµç㪠MIME header æååãšããããšããæ¹éãæ¡çšããŠããŸãã
--
Masanori HATA
In article <dnas3u$6vi$1...@caraway.media.kyoto-u.ac.jp>, Masanori HATA wrote:
>çã§ãã
>RFC 2047 ã®ã6.2. Display of 'encoded-word'sãã«ãããš
>> When displaying a particular header field that contains multiple
>> 'encoded-word's, any 'linear-white-space' that separates a pair of
>> adjacent 'encoded-word's is ignored. (This is to allow the use of
>> multiple 'encoded-word's to represent long strings of unencoded text,
>> without having to separate 'encoded-word's where spaces occur in the
>> unencoded text.)
>
>ãšãªã£ãŠããŠããencoded-word ãš encoded-word ã®éã®ç©ºçœæåã¯è¡šç€ºæã«ç¡
>èŠãããããšæžããŠããã®ã§ãåŸ©å·æã®æåã«é¢ããŠã¯ã¯ïŒïŒã®æ¹éãïŒRFC
>çïŒæšæºã ãšèããŠããŸããã
æ¬æ¥ã¯ããããã®ãæ£ããã®ããç¥ããŸãããïŒæ¬§ç±³åã§ã¯ïŒencode ã¯ããã
å¿
èŠãªåèªã®ã¿ã«å¯ŸããŠè¡ãïŒåèªéã®ç©ºçœã¯ encode ãããã®ãŸãŸæ®ãïŒãšã
ãå®è£
ãåºãæ¡çšãããŠããæ§ã«èšæ¶ããŠããŸãïŒ
ïŒå
ã
åãã¡æžããããŠããèšèªã§ã¯ãããèªç¶ãªãã§ãããïŒïŒïŒ
>ãŸãããã®åŸ©å·æã®æ¹éãåæãšããŠã笊å·åæã®æåã«é¢ããŠã¯ãïŒencode
>ãããæååã«æãŸããïŒç©ºçœæåãå
å
ã㊠encode ããŠããŸã£ãåŸãå
ãã
>ãã£ãïŒäŸãã° subject ã®åæãšããŠååšããïŒç©ºçœæåãšã¯å¥åã«ãencoded
>-word ãš encoded-word ã separate ããããã®ããªãã¿ãšããŠã®ç©ºçœæåãæ°
>ãã«è¿œå ããŠæçµç㪠MIME header æååãšããããšããæ¹éãæ¡çšããŠããŸãã
ããã¯å¿
ç¶ã§ãããïŒïŒç¢ºãïŒããªãã¿ã®ç©ºçœç¡ãã¯ãŸããã£ãïŒãã¡ããšã
ã³ãŒããããªãäºããã£ãïŒãšèšæ¶ããŠããŸãïŒ
ïŒèŠåã«é¢ä¿ããè©±ãšæ¢åã®ã¡ã€ã©ãŒçµ¡ã¿ã®åé¡ããã£ã¡ãã«ãªã£ãŠããŸããïŒ
ïŒã容赊äžããïŒ
Hideki Kato wrote:
>>RFC 2047 ã®ã6.2. Display of 'encoded-word'sãã«ãããš
>>
>>>When displaying a particular header field that contains multiple
>>>'encoded-word's, any 'linear-white-space' that separates a pair of
>>>adjacent 'encoded-word's is ignored. (This is to allow the use of
>>>multiple 'encoded-word's to represent long strings of unencoded text,
>>>without having to separate 'encoded-word's where spaces occur in the
>>>unencoded text.)
>>
>>ãšãªã£ãŠããŠããencoded-word ãš encoded-word ã®éã®ç©ºçœæåã¯è¡šç€ºæã«ç¡
>>èŠãããããšæžããŠããã®ã§ãåŸ©å·æã®æåã«é¢ããŠã¯ã¯ïŒïŒã®æ¹éãïŒRFC
>>çïŒæšæºã ãšèããŠããŸããã
>
> æ¬æ¥ã¯ããããã®ãæ£ããã®ããç¥ããŸãããïŒæ¬§ç±³åã§ã¯ïŒencode ã¯ããã
> å¿
èŠãªåèªã®ã¿ã«å¯ŸããŠè¡ãïŒåèªéã®ç©ºçœã¯ encode ãããã®ãŸãŸæ®ãïŒãšã
> ãå®è£
ãåºãæ¡çšãããŠããæ§ã«èšæ¶ããŠããŸãïŒ
> ïŒå
ã
åãã¡æžããããŠããèšèªã§ã¯ãããèªç¶ãªãã§ãããïŒïŒïŒ
ïŒäžç¥ïŒ
> ïŒèŠåã«é¢ä¿ããè©±ãšæ¢åã®ã¡ã€ã©ãŒçµ¡ã¿ã®åé¡ããã£ã¡ãã«ãªã£ãŠããŸããïŒ
> ïŒã容赊äžããïŒ
ãªãã»ã©ãå è€ããã®ãææã§çã®ãŒãããããé ãå€å°ã¯ãªã¢ã«ãªããŸããã
åã®çºæ³ããRFC ããèŠç¯ã«ããŠããã°ãããšã¯ã©ãã§ããããââçãªãæ
床ã§
ãã£ãã®ãåé¡ã ã£ãã¿ããã§ããã¡ã€ã©ãŒã®å®è£
宿
ã®ããšã«ã€ããŠã¯çžåœç¡
é çã§ããã
å°ãªããšããæ¥æ¬èªã§ã¯ãencode ã«é¢ããŠã¯ãæååäžã®ç¯å²ããšããŠèãã
æ¹ããããšæããŸããïŒISO-2022-JP ã®çºæ³ãããã§ãããïŒã欧èªã®å Žåã¯ã
åå¥ã®åèªã encode ãããåŠããšããçºæ³ã«ãªãã®ã§ãããããRFC 2047 äž
ã§ ABNF ã§
phrase = 1*( encoded-word / word )
ãšå®çŸ©ãããŠããããã§ããã
# çµå±ãUTF-8 ã®ã¡ãŒã«ãéä¿¡ãã¹ãããŠã¿ããšãããïŒçžåœãŠãŒã¶äººå£ãã
# ããšæãããïŒYahoo! Japan ã® Web ã¡ãŒã©ã§ã¯ãUTF-8 ã«æªå¯Ÿå¿ã§æåå
# ãïŒMIME ã¯ã¡ãããšãã³ãŒãããã®ã«ãïŒããŠã¬ãã¯ãªãèŠæã¯åºããŠã
# ãããã©ããã€ã«ãªã£ãã察å¿ããŠããããã®ããã
# ããšãæºåž¯ã¡ãŒã«ãªãããæªã UTF-8 ã¯é§ç®ããããŸãããã
--
Masanori HATA
# é¡åãå€ããŠããã¹ãå ã»ãã©ããŒã¢ããå ãå€ããŠãããŸãã
Shinji KONO wrote:
>>ãã®èŸºã®è©³çްããæç€ºé¡ããŸããã§ããããïŒãæ±ãããããããã®ã¯ãããã®
>>ã§ãããRFC 2047 ãèŠãéãæ¬ é¥ãšããé¢šã«æãããšããã«ã¯æ°ãã€ããªãã£
>>ãã®ã§âŠâŠã
>
> =?...?= ã®éã«ã¯ä»»æã®ç©ºçœæ¹è¡ãå
¥ããŠè¯ãã§ããããäžæ¹ã§ã
> 空çœã¯base64 encodeããªãã£ãŠããã«ãŒã«ãããã®ã§ãå
ããã
> ã空çœã¯ã=?...?= ã®å€ã«ã§ãŸããããã«ãé·ããªããããbase64
> ã¯é©åœã«åå²ããŠè¯ãã£ãŠããšã«ãªã£ãŠãŸãããã®æã«=?...?= ã
> ç¶ããŠã¯ã ãã§ã空çœãŸãã¯æ¹è¡ããããªããŠã¯ãªããŸããã
>
> ã£ãŠããšã¯ãå
ãããã空çœãšãé·ããªãéããŠåå²ããã空çœãš
> ã¯åºå¥ãã€ããŸããããã®ç©ºçœãç¡ããããšã¯å
ã
ã®ç©ºçœãæ¶ãå¯
> èœæ§ãããã®ã§ãããã¯èš±ãããŸãããæ¶ããªããšäœèšãªç©ºçœãå
¥
> ãå¯èœæ§ããããŸãã
>
> HTMLã§ãé¡äŒŒã®åé¡ããã£ãŠæ¹è¡ãããHTML textã¯ã衚瀺ããã
> æã«æ¹è¡ã倿ŽãããŸããããã®æã«åŒ·å¶çã«äžã€ç©ºçœãã¯ãããŸ
> ããå
¥ããªããšè±èªãèªããªããªããå
¥ãããšæ¥æ¬èªãäžèªç¶ã«ãª
> ããŸãã
>
> åèªã空çœã§åºåãèšèªãšãã¯ããã§åé¡ãªããã§ãããæ¥æ¬èªã¿
> ããã«é·ã空çœã®ãªãæãç¶ãèšèªã§åå²ãèµ·ãããšãäžèªç¶ã«ç©º
> çœãæ¿å
¥ãããŠããŸããŸãã空çœãå¢ãããšåå²ãããå¯èœæ§ãå¢
> ããã®ã§ãããã«ç©ºçœãå¢ãããšããçŸè±¡ãèµ·ããŸãã
>
> HTMLã¯æ¹è¡èªäœãåã£ãŠããŸãã°è¯ããã§ãããMIME subject ã§
> ã¯ãããã§ããªããç©ºçœæ¹è¡ãå«ããŠencodeããŠã=?...?= éã®ç©º
> çœæ¹è¡ã¯ç¡èŠãããšãã?= ã®ä»ã«ãç¶ãç©ºçœæ¹è¡ãç¡èŠããçµäº
> ããŒã¯ããçšæãããšãããã°è§£æ±ºãããã§ããã©ãã
MIME (RFC 2047) ãšããããã RFC 2822 ã®ãããã®æãè¿ãïŒfoldingïŒã«ãŒ
ã«èªäœã®æ¬ é¥ã®ããã¿ããã§ããã
RFC 2822 ã® WSP ãšããŠå®çŸ©ãããŠãããã®ã SP ãš HTAB ã§äœ¿ãåããããã«
ä¿®æ£ããã°åŸæ¥ã®ïŒæ¬§èªäžå¿ã«èšèšãããïŒä»æ§ã«å€§ããªåœ±é¿ãäžããããšãª
ããæ¥æ¬èªïŒäžåœèªã»éåœèªãåæ§ã§ããïŒã«ãšã£ãŠã®æ¬ é¥ãè§£æ¶ã§ããããã«
æããŸãã
HTAB ã FWS ãšããŠäœ¿çšããå Žåã¯ãæãè¿ãè§£é€ïŒunfoldingïŒæã«åé€ãã
ã WSP ãšããŠæ±ããšããã«ãŒã«ã«ããã°ãããšæãããã§ãã
from RFC 2822:
> Unfolding is accomplished by simply removing any CRLF that is
> immediately followed by WSP.
Modification idea for RFC 2822:
Unfolding is accomplished in two ways:
1. By simply removing any CRLF that is immediately followed by SP.
2. By removing any CRLF (that is immediately followed by HTAB)
together with the following HTAB.
ãããããHTAB ãªããŠå¶åŸ¡æåãªã®ã§ãé¡åãã¢ãã¬ã¹ã®è¡šç€ºåã®ç©ºçœãšããŠ
䜿ãäººã¯æ¬§ç±³ã§ãå°ãªããšæãããŸãã
ããããããšã«ããã°ã8bit ã·ã¹ãã äžã§ã¯ãMIME ãšã³ã³ãŒããããã¯äžèŠã«
ãªããquoted-string ããå¿
èŠãªãšãã«çšããã°ãç UTF-8 ã®é¡å
ïŒunstructuredïŒãã¢ãã¬ã¹ïŒstructuredïŒã®è¡šç€ºåïŒdisplay-nameïŒã§ãå¯èœ
ã«ãªããŸããã
--
Masanori HATA
# ãã©ããŒå 容ã«ãã£ãŠãã©ããŒå ããçµãäžããã
Masanori HATA wrote:
> MIME (RFC 2047) ãšããããã RFC 2822 ã®ãããã®æãè¿ãïŒfoldingïŒã«ãŒ
> ã«èªäœã®æ¬ é¥ã®ããã¿ããã§ããã
>
> RFC 2822 ã® WSP ãšããŠå®çŸ©ãããŠãããã®ã SP ãš HTAB ã§äœ¿ãåããããã«
> ä¿®æ£ããã°åŸæ¥ã®ïŒæ¬§èªäžå¿ã«èšèšãããïŒä»æ§ã«å€§ããªåœ±é¿ãäžããããšãª
> ããæ¥æ¬èªïŒäžåœèªã»éåœèªãåæ§ã§ããïŒã«ãšã£ãŠã®æ¬ é¥ãè§£æ¶ã§ããããã«
> æããŸãã
>
> HTAB ã FWS ãšããŠäœ¿çšããå Žåã¯ãæãè¿ãè§£é€ïŒunfoldingïŒæã«åé€ãã
> ã WSP ãšããŠæ±ããšããã«ãŒã«ã«ããã°ãããšæãããã§ãã
ïŒäžç¥ïŒ
> ããããããšã«ããã°ã8bit ã·ã¹ãã äžã§ã¯ãMIME ãšã³ã³ãŒããããã¯äžèŠã«
> ãªããquoted-string ããå¿
èŠãªãšãã«çšããã°ãç UTF-8 ã®é¡å
> ïŒunstructuredïŒãã¢ãã¬ã¹ïŒstructuredïŒã®è¡šç€ºåïŒdisplay-nameïŒã§ãå¯èœ
> ã«ãªããŸããã
ââãªããŠããšãèãããããŠããŸããããããäžã€å¥ãªããæ¹ãèããŸããã
ããã¯ãé·ãæååãæãè¿ããããã«ã匷å¶çã«ç©ºçœæåãæ¿å
¥ããå Žåã空çœ
æåã®åŸã«ç¶ããŠãå¶åŸ¡æåã®BSïŒããã¯ã¹ããŒã¹ïŒASCIIã³ãŒã8ïŒããã¢ã«ãã
ãšããæ¹æ³ã§ããããããã¡ãŒã«ãªãŒãåŽã§BSã®è§£éã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸã
ããŠããªããã°ãæå³ã¯ãããŸããã®ã§ãåãªãææ¡ã«ãããŸãããã
ãããªããã§ãunstructured ãããïŒäŸïŒé¡åãããïŒã«é¢ããŠãRFC 2047 ã®
MIME 笊å·åãããæ¹åŒãç¡èŠããŠãMIME 笊å·åããªããçŽ ã® UTF-8 ã®æååã
RFC 2822 ã®å¶éæåæ° 78 ãã€ã以å
ã«æè¿ãããæ¹åŒãæ¡çšããŠã¿ãŸãããã
ã£ãŠããã®ã¯ãå€ãã€ãé·æåã®å Žåã¯ãéäžã§åŒ·å¶æ¹è¡ããããããšã®ãªããã
ã«æ³šæããŠããçšåºŠã§ãã
äžã«ãããã¿ã€ããèŒããŠãããŸãã
# ååž°ç衚çŸã§ãã£ããæžããã€ããã§ãã;-)
# ã€ãã§ã«æ¥æ¬èªäœ¿ããŸããã
MIME 笊å·åããæ¹åŒã®ãã®ã¯ãŸãå¥éäœãäºå®ã§ãã
--
Masanori HATA
#!/usr/local/bin/perl -w
use 5.008;
use strict;
use warnings;
use utf8;
use Carp;
# 宿°ã®å®£èš
my $è¡é· = 78;
my $çèª = $è¡é· - 1;
my $é·èª = $çèª + 1;
my $æ¹è¡ = "\x0D\x0A";
my $ç©ºçœæåçš® = "\x20\x09";
my $第å
«äœæåçš® = "\x80-\xFF";
my $åŒ·å¶æ¹è¡æç©ºçœ = "\x20\x08";
# ããã±ãŒãžå
ã°ããŒãã«å€æ°ã®å®£èš
my($åŠçæž, $æªåŠç);
sub çãASCIIèª ($) {
my $åŠç察象 = $_[0];
$åŠçæž =~ m/($æ¹è¡|^)([^$æ¹è¡]*)$/;
my $æåŸå°Ÿ = $2;
if (length($åŠç察象) <= $è¡é· - length($æåŸå°Ÿ)) {
$åŠçæž .= $åŠç察象;
}
else {
$åŠçæž .= $æ¹è¡ . $åŠç察象;
}
}
sub é·ãASCIIèª ($) {
my $åŠç察象 = $_[0];
$åŠçæž =~ m/($æ¹è¡|^)([^$æ¹è¡]*)$/;
my $æåŸå°Ÿ = $2;
my $äœå° = $è¡é· - length($æåŸå°Ÿ);
if ($äœå° and $äœå° >= length($åŠç察象)) {
$åŠçæž .= $åŠç察象;
}
elsif ($äœå°) {
$åŠçæž .= substr($åŠç察象, 0, $äœå°);
# ååž°
&é·ãASCIIèª( substr($åŠç察象, $äœå°) );
}
else {
$åŠçæž .= $æ¹è¡ . $åŒ·å¶æ¹è¡æç©ºçœ;
# ååž°
&é·ãASCIIèª($åŠç察象);
}
}
sub é·ã第å
«äœæåå«æèª ($) {
utf8::decode(my $åŠç察象 = $_[0]);
utf8::encode(my $äžæå = substr($åŠç察象, 0, 1));
$åŠçæž =~ m/($æ¹è¡|^)([^$æ¹è¡]*)$/;
my $æåŸå°Ÿ = $2;
if (length($äžæå) <= $è¡é· - length($æåŸå°Ÿ)) {
$åŠçæž .= $äžæå;
}
else {
$åŠçæž .= $æ¹è¡ . $åŒ·å¶æ¹è¡æç©ºçœ . $äžæå;
}
utf8::encode(my $æ®ã = substr($åŠç察象, 1));
# ååž°
&é·ã第å
«äœæå嫿èª($æ®ã) if $æ®ã;
}
sub æè¿ã ($$) {
$åŠçæž = $_[0] . ':';
utf8::encode($æªåŠç = "\x20" . $_[1]);
while ($æªåŠç) {
if ($æªåŠç =~ s/^[$ç©ºçœæåçš®][^$ç©ºçœæåçš®]{1,$çèª}(?=[$ç©ºçœæåçš®]|$)//) {
çãASCIIèª($&);
}
elsif ($æªåŠç =~ s/^[$ç©ºçœæåçš®]//) {
çãASCIIèª($&);
}
elsif ($æªåŠç =~ s/^[^$ç©ºçœæåçš®^$第å
«äœæåçš®]{$é·èª,}(?=[$ç©ºçœæåçš®]|$)//) {
é·ãASCIIèª($&);
}
elsif ($æªåŠç =~ s/^[^$ç©ºçœæåçš®]{$é·èª,}(?=[$ç©ºçœæåçš®]|$)//) {
é·ã第å
«äœæå嫿èª($&);
}
else {
carp 'unsupposed regex error: ' . $æªåŠç . ';';
}
}
}
# 以äžã䜿çšäŸ
my $é åå = 'Subject';
my $é åå
容 = 'ããã¯çã§ããããã¯çã§ããããã¯çã§ããããã¯çã§ãã';
æè¿ã($é åå, $é åå
容);
print $åŠçæž;
In article <dp0i4q$d3k$1...@caraway.media.kyoto-u.ac.jp>
Masanori HATA <ha...@iname.com> writes:
> ããã¯ãé·ãæååãæãè¿ããããã«ã匷å¶çã«ç©ºçœæåãæ¿å
¥ããå Žåã空çœ
> æåã®åŸã«ç¶ããŠãå¶åŸ¡æåã®BSïŒããã¯ã¹ããŒã¹ïŒASCIIã³ãŒã8ïŒããã¢ã«ãã
> ãšããæ¹æ³ã§ããããããã¡ãŒã«ãªãŒãåŽã§BSã®è§£éã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸã
> ããŠããªããã°ãæå³ã¯ãããŸããã®ã§ãåãªãææ¡ã«ãããŸãããã
nroff ã¿ããã§é¢çœãããã©ãçãéãæ°ãããŸããèŠæ ŒãšããŠã¯ã
1000ãã€ããããã®é·ãè¡ãèš±ããŠããè¡ã®æãè¿ãã¯ãããªãã
ãšã«ããããšããæ¹ãç°¡åã ãšæããŸãã
nroff ã¯ãBS ã§äºéæã¡ãããäžç·ãåŒãããããŸããless ãªã©
ã¯ãããè§£éããŠãšã¹ã±ãŒãã·ãŒã±ã³ã¹ã«å€ããŸããnroff ã¯ã
Unix ã® man ã³ãã³ãã䜿ã£ãŠãããã€ãã
rough consensus and running code æ¹åŒãçæçã«ã¯ããããã©ã
é·æçã«ã¯æãšããããšãæè¿ç®ç«ã€æ°ãããŸãããã¡ã€ã³åã®è¡š
èšãšãããããã²ã©ããã URL ãšããMIME ã®ããããã®èŠæ Œã30
幎åŸã䜿ã£ãŠããç¬ãããã©ãçŽããªãæ©ãæ¹ãããããã§ãã
ïŒŒïŒŒãæ°åãéãïŒãããããããããïŒã
ãçæ³¢å€§åŠãé»åã»æ
å ±ããããããã
In article <YAS.05De...@kirk.is.tsukuba.ac.jp>, y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes
> nroff ã¿ããã§é¢çœãããã©ãçãéãæ°ãããŸããèŠæ ŒãšããŠã¯ã
> 1000ãã€ããããã®é·ãè¡ãèš±ããŠããè¡ã®æãè¿ãã¯ãããªãã
> ãšã«ããããšããæ¹ãç°¡åã ãšæããŸãã
æ¥æ¬èªã®æ¹è¡ãšè±èªã®æ¹è¡ãåºå¥ãããšããå
šéšãbase64ãšãã
ãŸããããããæ¹æ³ã¯ãããŸããã
> rough consensus and running code æ¹åŒãçæçã«ã¯ããããã©ã
> é·æçã«ã¯æãšããããšãæè¿ç®ç«ã€æ°ãããŸãããã¡ã€ã³åã®è¡š
> èšãšãããããã²ã©ããã URL ãšããMIME ã®ããããã®èŠæ Œã30
> 幎åŸã䜿ã£ãŠããç¬ãããã©ãçŽããªãæ©ãæ¹ãããããã§ãã
ãŸã£ãã....
---
Shinji KONO @ Information Engineering, University of the Ryukyus
æ²³éçæ²» @ çç倧åŠå·¥åŠéšæ
å ±å·¥åŠç§
Yasushi Shinjo wrote:
>>ããã¯ãé·ãæååãæãè¿ããããã«ã匷å¶çã«ç©ºçœæåãæ¿å
¥ããå Žåã空çœ
>>æåã®åŸã«ç¶ããŠãå¶åŸ¡æåã®BSïŒããã¯ã¹ããŒã¹ïŒASCIIã³ãŒã8ïŒããã¢ã«ãã
>>ãšããæ¹æ³ã§ããããããã¡ãŒã«ãªãŒãåŽã§BSã®è§£éã«ã€ããŠã³ã³ã»ã³ãµã¹ãåŸã
>>ããŠããªããã°ãæå³ã¯ãããŸããã®ã§ãåãªãææ¡ã«ãããŸãããã
>
> nroff ã¿ããã§é¢çœãããã©ãçãéãæ°ãããŸããèŠæ ŒãšããŠã¯ã
> 1000ãã€ããããã®é·ãè¡ãèš±ããŠããè¡ã®æãè¿ãã¯ãããªãã
> ãšã«ããããšããæ¹ãç°¡åã ãšæããŸãã
å
¬ã®èŠæ Œã®è©±ãšããããããåãªãèªäž»ã«ãŒã«ãšããçšåºŠã®ã€ããã§ããã
ãšã¯ããããè¡ã®æè¿ãã¯ãããªãããšã«ãããã¯ããèãã ãšæããŸãã®ã§ã
ïŒèªåãæžããã©ãŒã ã¡ãŒã©çšã®ã¡ãŒã«æäœæããã°ã©ã ã§ã¯ïŒéžææ¹åŒã«ãã
ããšã«ããŸãã
1. æè¿ãããªããã1000ãã€ãå¶éã課ãã
2. åŒ·å¶æè¿ãïŒSP + BS ãåæã«æ¿å
¥ïŒãã代ããã«ãµã€ãºå¶éã¯ãªãã
> rough consensus and running code æ¹åŒãçæçã«ã¯ããããã©ã
> é·æçã«ã¯æãšããããšãæè¿ç®ç«ã€æ°ãããŸãããã¡ã€ã³åã®è¡š
> èšãšãããããã²ã©ããã URL ãšããMIME ã®ããããã®èŠæ Œã30
> 幎åŸã䜿ã£ãŠããç¬ãããã©ãçŽããªãæ©ãæ¹ãããããã§ãã
ãã®ç¹ã«ã€ããŠã¯ãæ°åãããæ²³éãããã¡ã®ãã£ãããããšã¯ãããã®ã§ã
ãã*å®éåé¡ãšããŠ*çŽããã®ã§ããããïŒãRFC 822 ããã£ãšæ¹èšãã㊠RFC
2822 ã«ãªã£ããšæã£ãŠããããªç¶æ
ãªããã§ãããQWERTY ãªããŒããŒãé
åãš
åãã§ãäžæŠèµ°ãåºããŠããŸã£ããã®ãæ ¹ãããå€ããã®ã¯äžã
容æã§ãªããšæ
ããŸããæªã èµ°ãåºããŠããªããã®ãããããæ°ããç«ã¡äžããã«ããã£ãŠã
rough consensus ãæããèµ°ãå§ããããåã«ãã£ããç·Žãäžããã¹ãããšãã
話ãšããŠã¯ããããŸãã
çµå±ãå®è£
ã«ããã£ãŠã¯ãèµ°ã£ãŠããçŸç¶ãšçæ³ãã«ããã£ãããŠãæ¢ããŠæ¡ã
ãã®ãæ¢ããŠæšãŠããã®ããèªåã§æ±ºãããããªãã§ãã:-(
# ã§ã確ãã«ããã¡ã€ã³åã«ã€ããŠã¯ããªã匷ãè³æããŸãã
# åœéãã¡ã€ã³åã«ãªã£ããšããã§ã.jp ãšèå¿ã® TLD ãã¢ã«ãã¡ãããã§ã¯
# ã²ã³ããªããŸãããTLD ãæ¥æ¬èªã«ãªã£ãŠäŸãã° .æ¥æ¬ ãšãã«ãªã£ãŠãããª
# ãã ããããåºåã®ãã¡ã€ã³åã®æ¹åŒèªäœãæ¥æ¬èªã«åããªãã
#ãæ±äº¬.æ¥æ¬ããšãããã¡ã€ã³åããã¯ãæ¥æ¬ã®æ±äº¬ããšãã衚èšã®æ³ãæ¥æ¬
# èªã«éŠŽæãã
--
Masanori HATA
Masanori HATA wrote:
> 1. æè¿ãããªããã1000ãã€ãå¶éã課ãã
> 2. åŒ·å¶æè¿ãïŒSP + BS ãåæã«æ¿å
¥ïŒãã代ããã«ãµã€ãºå¶éã¯ãªãã
ãããä¿®æ£ã
1. 1000ãã€ãé·ãŸã§æè¿ãããªããè¶
éããå Žåã®ã¿ãSP+BSåææ¿å
¥ã«ãã匷
å¶æè¿ãã
2. 78ãã€ãé·ãŸã§æè¿ãããªããè¶
éããå Žåã®ã¿ãSP+BSåææ¿å
¥ã«ãã匷å¶
æè¿ãã
--
Masanori HATA
In article <dp2a26$3j3$1...@caraway.media.kyoto-u.ac.jp>
Masanori HATA <ha...@iname.com> writes:
> > rough consensus and running code æ¹åŒãçæçã«ã¯ããããã©ã
> > é·æçã«ã¯æãšããããšãæè¿ç®ç«ã€æ°ãããŸãããã¡ã€ã³åã®è¡š
> > èšãšãããããã²ã©ããã URL ãšããMIME ã®ããããã®èŠæ Œã30
> > 幎åŸã䜿ã£ãŠããç¬ãããã©ãçŽããªãæ©ãæ¹ãããããã§ãã
> ãã®ç¹ã«ã€ããŠã¯ãæ°åãããæ²³éãããã¡ã®ãã£ãããããšã¯ãããã®ã§ã
> ãã*å®éåé¡ãšããŠ*çŽããã®ã§ããããïŒ
幎æ«å¹Žå§ãšããããæ£æã«ã¯ãèªç±ãªèŠç¹ã§ããããèãããšãã
ããšæããŸããå人çã«ã¯ãæã
ã¯ãã«ã ããçŽããªãããšããæ
èãã¿ã³ã¯ãæ®æ®µã¯ããŸããã
> # ã§ã確ãã«ããã¡ã€ã³åã«ã€ããŠã¯ããªã匷ãè³æããŸãã
> # åœéãã¡ã€ã³åã«ãªã£ããšããã§ã.jp ãšèå¿ã® TLD ãã¢ã«ãã¡ãããã§ã¯
> # ã²ã³ããªããŸãããTLD ãæ¥æ¬èªã«ãªã£ãŠäŸãã° .æ¥æ¬ ãšãã«ãªã£ãŠãããª
> # ãã ããããåºåã®ãã¡ã€ã³åã®æ¹åŒèªäœãæ¥æ¬èªã«åããªãã
å·Šããå³ã«ããŠæ¬²ããã£ãããããïŒæ¥æ¬ïŒèšåããšããURL ã®ãã¡
ã€ã«åã¯ãããããŠããããå
é ããïŒãã§ãªããã°çžå¯Ÿåãšãã
ã®ã欲ããã
Java ã®ããã±ãŒãžåã«äœ¿ããã¡ã€ã³åã¯ãå·Šããå³ãªã®ã§ãå°ã
ã¯ããã§ãããã ããã¡ã€ã³åèªäœãæéçãªæŠå¿µãå«ãã§ããŸã£
ãŠããã®ã§ãé·æé䜿ãããã°ã©ã ã ãšãã¯ãåé¡ã§ããïŒãã¡ã€
ã³åãæ»
ãã§ãããã°ã©ã ãæ®ãæã«å°ããïŒ
> å ¬ã®èŠæ Œã®è©±ãšããããããåãªãèªäž»ã«ãŒã«ãšããçšåºŠã®ã€ããã§ããã
çµå±ã¯ãå°ããã¬ãã«ã§ã¯ããŒã ã®æŠãã«ãªã£ãŠããã®ããããã
ãããŠãããããŒã ãå¢ããŠãããšããããã©ã
RFC822 ã«ã€ããŠã¯ãå€ãã¡ãŒã«ã®ããã¹ãã倧éã«æ®ã£ãŠããã
ãã§ããããæšãŠãããã«ããããªãã®ã§ãRFC2822 ãåºãŠããŠã
å¿
èŠæ§ã¯æ®ããŸããã¡ã¿æ
å ±ãšããŠããã®ã¡ãã»ãŒãžã¯äœå¹Žé äœã
ãããã®ãããªããšããªããšãããŸãè§£éã§ããªãã®ã§ãããã
MIME ã® type ã«ãmessage/rfc822 ãšãåºãŠããã®ã¯ãèŠãŠããæ¹
ãæ¥ããããæ°ãããŸãã
éåæéãçµã£ãŠããããã§ãã®ã§ïŒãã³ãã€ã³ãã«åå¿ã§ãïŒ
Masanori HATA <ha...@iname.com> writes:
> çïŒèªå·±ãã©ããŒïŒã§ãã
>
> Masanori HATA wrote:
> > 1. æè¿ãããªããã1000ãã€ãå¶éã課ãã
> > 2. åŒ·å¶æè¿ãïŒSP + BS ãåæã«æ¿å
¥ïŒãã代ããã«ãµã€ãºå¶éã¯ãªãã
>
> ãããä¿®æ£ã
>
> 1. 1000ãã€ãé·ãŸã§æè¿ãããªããè¶
éããå Žåã®ã¿ãSP+BSåææ¿å
¥ã«ãã匷
> å¶æè¿ãã
RFC ã§ã¯åŸ©åž°æ¹è¡èŸŒã¿ã§ 1000 Octet ãŸã§ãšãããŠããŸããïŒ
sendmail ã®å®è£
ã§ã¯ 990 Octet ã«äžžãããããã匷å¶çã«åŸ©åž°æ¹è¡ãå
¥ããŸ
ãïŒããã¯ããŒãã³ãŒãã£ã³ã°ã§ãïŒ
ãŸãïŒPostfix ã¯ãã©ã¡ãŒã¿ã§èª¿æŽã§ããããã«ãªã£ãŠããçã§ããïŒ
sendmail ã®ããŒãã³ãŒãã£ã³ã°ã«å£ã£ãŠ default ã§ 990 Octet ã«ãªã£ãŠ
ããŸãïŒ
p.s.
MIME Encode ãããæååã«ãé·ãã®å¶éããããŸãããïŒãããéµå®ããã
ãã«ããªããšïŒåãæã«å¯ŸããŠæ»æçãªéä¿¡æ¹æ³ã«ãªããŸãïŒ
--
Eisaku YAMAGUCHI <eisaku (at-mark) ist.aichi-pu.ac.jp>
ãããã§ã¯èª¿æ»æŽ»åã®ããïŒå°éå¯èœãªå¥ã¢ãã¬ã¹ãåä¹ã£ãŠããŸã
# å人çãªè©±ã§ãããä» BASICïŒMS QBasicïŒã ãšããããã·ã¥å€ã®èšç®ã«èå³
# ã®å¯Ÿè±¡ãç§»ã£ãŠããŸã£ãŠããŠãæ¬ã¹ã¬ããé¢ä¿ã® Perl ã¢ãžã¥ãŒã«ã®éçºã¯
# äžéã§æŸçœ®ãããŠããç¶æ
ã§ãã(^^;
Eisaku YAMAGUCHI wrote:
>>1. 1000ãã€ãé·ãŸã§æè¿ãããªããè¶
éããå Žåã®ã¿ãSP+BSåææ¿å
¥ã«ãã匷
>>å¶æè¿ãã
>
> RFC ã§ã¯åŸ©åž°æ¹è¡èŸŒã¿ã§ 1000 Octet ãŸã§ãšãããŠããŸããïŒ
> sendmail ã®å®è£
ã§ã¯ 990 Octet ã«äžžãããããã匷å¶çã«åŸ©åž°æ¹è¡ãå
¥ããŸ
> ãïŒããã¯ããŒãã³ãŒãã£ã³ã°ã§ãïŒ
> ãŸãïŒPostfix ã¯ãã©ã¡ãŒã¿ã§èª¿æŽã§ããããã«ãªã£ãŠããçã§ããïŒ
> sendmail ã®ããŒãã³ãŒãã£ã³ã°ã«å£ã£ãŠ default ã§ 990 Octet ã«ãªã£ãŠ
> ããŸãïŒ
æ
å ±ããããšãããããŸããsendmail ã®å®è£
ã®è©±ã«ã€ããŠã¯ç¥ããŸããã§ã
ããããã¯ãæ¬ä»¶ã«éãããRFC ã®èŠå®ãš sendmail ã®å®è£
ãšã®éã«çããäžè¬
çãªåé¡ãšããããšã«ãªããšæããŸãããäœããã®èæ
®ãå¿
èŠã§ããã:/
# éåžžãé¡åãã¢ãã¬ã¹ã®è¡šç€ºåã 998 octet è¶
ã«ãªãããšã¯çšãªã®ã§ã
# ãã®ãããã®èŠå®ãšå®è£
ã¯ææ§ãªãŸãŸæŸçœ®ãããŠãã®ãããããŸãããã
> p.s.
> MIME Encode ãããæååã«ãé·ãã®å¶éããããŸãããïŒãããéµå®ããã
> ãã«ããªããšïŒåãæã«å¯ŸããŠæ»æçãªéä¿¡æ¹æ³ã«ãªããŸãïŒ
æ¬ä»¶ã®å Žåã¯ãMIME Encode ãæ¢ããŠäœ¿ããªããïŒçã®å€ãã€ãé·æåã䜿çšã
ãïŒãšããããæ¹ãä»®å®ãã話ã«ãªããŸãããMIME Encode ã«ã€ããŠã¯ããã
encoded-word ã䜿çšããå Žå㯠RFC ã«åã£ãŠé·ãå¶éïŒ75 æåïŒãéµå®ãã
ãããªããšæããŸãã
--
Masanori HATA