[#10553] base64.rb — Sinichiro Dezawa <dezawa@...>

出沢です

92 messages 1998/11/01
[#10565] Re: base64.rb — Shin-ichiro Hara <sinara@...> 1998/11/01

原です。

[#10583] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/02

まつもと ゆきひろです

[#10595] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/02

出沢です

[#10611] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

出沢です

[#10613] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10614] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> kconvにかけるってのは反則ですか? 今のkconvはB-encodingをデ

[#10615] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

>あー、そんなのがあったのか。反則だ。

[#10616] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> >あー、そんなのがあったのか。反則だ。

[#10617] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/04

わたなべです.

[#10618] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

watanabe> 何も指定しなくていいです. もともとは nkf で

[#10621] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10623] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> エンコードにはpack("m")がお勧めなのかなあ.

[#10635] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> 手を付け兼ねてるのは、

[#10642] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10648] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> エスケープとか全部含めて encode する必要があります.

[#10654] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10659] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> といろいろ問題はあるけど pack("m") は encode した結果が長く

[#10663] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10664] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> 自前で細切れに処理しないとだめかな?

[#10672] Re: base64.rb — aamine@... 1998/11/05

あおきです。

[#10673] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

aamine> さらに難しくしてしまうのもなんなんですが

[#10702] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/07

出沢@フジフイルム です

[#10737] Re: base64.rb — aamine@... 1998/11/09

あおきです。

[#10741] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/09

すばやい

[#10796] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/13

出沢です

[#10800] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10801] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10802] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10804] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10806] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10676] 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 1998/11/06

[#10697] Re: 11/10 tokyo offline meeting — KIMURA Koichi <kkimura@...>

35 messages 1998/11/07
[#10721] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/08

けいじゅ@日本ラショナルソフトウェアです.

[#10729] Re: 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto) 1998/11/09

まつもと ゆきひろです

[#10738] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/09

けいじゅ@日本ラショナルソフトウェアです.

[#10743] Re: 11/10 tokyo offline meeting — ARIMA Yasuhiro <fit0298@...> 1998/11/09

Regard to "[ruby-list:10738] Re: 11/10 tokyo offline meeting"

[#10708] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10709] Re: 11/10 tokyo offline meeting — Sinichiro Dezawa <dezawa@...> 1998/11/07

では 「やぐら茶屋」NSビル店 で一応決まりということで?

[#10713] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10747] ruby 1.1c7 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/11/09

[#10904] ruby 1.1c8 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 1998/11/17

[#10910] require error (tkutil.so -> tk.so) — ttate@...

立石です。

17 messages 1998/11/17
[#10924] Re: require error (tkutil.so -> tk.so) — matz@... (Yukihiro Matsumoto) 1998/11/18

まつもと ゆきひろです

[#10926] Re: require error (tkutil.so -> tk.so) — WATANABE Hirofumi <watanabe@...> 1998/11/18

わたなべです.

[#11054] ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

36 messages 1998/11/26
[#11056] Re: ruby-list offline meeting at 11/27 — Sinichiro Dezawa <dezawa@...> 1998/11/26

残念なのですが、出沢は無理そうです。

[#11057] Re: ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto) 1998/11/26

まつもと ゆきひろです

[#11061] Re: ruby-list offline meeting at 11/27 — IWAMURO Motonori <iwa@...> 1998/11/26

岩室@富士通です。

[#11062] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[#11067] Re: ruby-list offline meeting at 11/27 — "D.Kanda" <MAP2303@...> 1998/11/26

[#11072] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:10802] Re: base64.rb

From: Shun-ichi GOTO <gotoh@...>
Date: 1998-11-13 09:09:50 UTC
List: ruby-list #10802
後藤@太陽計測です

>>>>> From: Toru Hoshina <toru@gte.net>
> ちょっと、うまく切れないので引用が長くなってしまいましたが、
> Sinichiro Dezawa さんがおっしゃることと、後藤@太陽計測さんの
> おっしゃることって大意は同じですよね?

あーわたしもちょっとDezawaさんのメールを勘違いしてたようです。

で、上記とはちょっとずれますが、

> 後藤@太陽計測さんは、multiple header lineのための行頭の空白、えっと
> Non Linear White Spaceでしたっけ?を計算に入れて、75charsという
> 解釈のようですが、細かいことですが、私はやはり読んだとおりで、
> encoded-wordの長さは76charsまで、つまり=?から?=までで76bytesだと
> 思います。

これに関しては一応、以下のように75に制限されています。
先の引用個所の直前です。

>   An 'encoded-word' may not be more than 75 characters long, including
>   'charset', 'encoding', 'encoded-text', and delimiters.  If it is
>   desirable to encode more text than will fit in an 'encoded-word' of
>   75 characters, multiple 'encoded-word's (separated by CRLF SPACE) may
>   be used.

1行が単一のencoded-wordであれば 1+75で76が最大。
複数の encoded-wordがあったとしても、1行は76が最大。
結局1行は76文字以内ということです。


> > エンコード後の長さが妥当になるような、元文の区切り点を見つける処理が面
> > 倒だとは思いますが。
> 
> 実際には =?ISO-2022-JP?B?...?= という形のencoded wordになるわけですが
> iso-2022-jpだよ、と言う以上、それらしくESC$Bではじまって、ESC(Bなどで
> us-asciiなりJIS1バイト英数字なりに戻してやるのがお約束なのだろうとは
> 思います。

当然そうですね。encoded-wordはそれ自体で閉じていなければならないと
明記されていますからね。


> =?ISO-2022-JP?B?...?= abc =?ISO-2022-JP?B?...?=
> 
> などという形式になるってことは、エスケープシーケンスはencoded wordの中です。
> これって、フザケんなよ凸(-_-#)って感じですよねぇ。

JISベースでバイトストリームを扱おうとすると面倒ですが、エンコード対象
文字列を、バイトではなく「文字」単位で考え、MIMEエンコードする直前で
iso-2022-jpにエンコード(ESC$Bなどの付加も含む)して考えるとよいと思います。

でもなんにしても、区切り点が計算1発で求まらないので、悩ましいですよね。


> iso-2022-jpというと、code set も encode method もJIS X 0208(でしたっけ?)
> をそのまま使いますが、2バイト文字集合だけで、1バイトカナは含まず、という
> ものだったと思うので、実際には、1バイトの英数字は含まないですよね。
> 
> 思うにUnix系のユーザさんは英数字は1バイトの文字を使うかたがほとんどな
> ように見えるので、放っておいてもそこでencoded wordは切れることになるので
> 実際にはencoded wordの76bytesな縛りってのは効いてこないような気もします。

ここはおっしゃる意図が良くわからないのですが。。。
iso-2022-jpでのcharsetでは英数字は含みます。

それから、RFC2047では、例えば "漢字file" というのは white-spaceで
区切られていないので、"漢字 file" と
してはダメで、漢字file といっしょに
エンコードしなければなりません。そうしないと、decodeすると
 "漢字 file"となってしまうからです。
#このへんはまじめに実装していないメーラーも多いのよね。

なので、半角がある個所で切れるわけではないです。


> base64って3bytesが4bytesになる勘定ですから、え〜〜っと、
> 76 から =?ISO-2022-JP?B? と ?= の分だけ引いて、58。4で割って14と2余り(笑)
> 14かける3で42。エスケープシーケンスの分6bytesを引くと、36。2で割って18。
>
> 半角カナの全角化をしないですむような素直なEUCの文字列とすると、18文字で
> 切って8bit目を立て、前後をESC hogeではさみ、B encodeして余りの2バイトは
> paddingということになるでしょうか。はぁ大変…

そうやって逆向きに1発で計算しちゃおうとするとドツボにはまりますよ(^^;
適当な個所で切ってみて長ければ、短くする(ヘンな日本語)手順は
必ず必要だと思います。

--- Regards,
 Shun-ichi Goto  <gotoh@taiyo.co.jp>
   R&D Group, TAIYO Corp., Tokyo, JAPAN



In This Thread