Re: Unison
新城@筑波大学情報です。こんにちは。
Unison も fj 読んでがんばって欲しいですね。
In article <b4mr7bcraqo.fsf@jpl.org>
Katsumi Yamaoka <yamaoka@jpl.org> writes:
> 想像ですが、「Unison」は Latin 語圏のために 8-bit 文字の quote
> はするけれども、7-bit 文字で unprintable なものが使われることを
> 想定していないんじゃないでしょうか。
isprint(c) をかけて、false なら =%2X で printf でいいですかね。
------------------------------------------------------------
% cat isprint.c
#include <ctype.h>
main()
{
printf("\\n %d\n",isprint('\n'));
printf("\\r %d\n",isprint('\r'));
printf("\\t %d\n",isprint('\t'));
printf("ESC %d\n",isprint(0x1b));
printf("a %d\n",isprint('a'));
}
% make isprint
cc isprint.c -o isprint
% ./isprint
\n 0
\r 0
\t 0
ESC 0
a 2
%
------------------------------------------------------------
> > Quoted printable で、ESC をそのまま流すってアリなんですかね。
> 生の ESC が printable で、かつ伝送上の問題が無い世界だったら。
ctype.h の isprint() は、ESC は、printable ではないと言って
います。
> 逆に、拡大解釈して CR LF などもエンコードしてしまわれると、少々
> 困るのですけれど。
たしかに。
> 例えば Gnus がメールとニュース
> のために定めている Q エンコードの仕様ではこうなります。
> "=?iso-2022-jp?Q?=1B$B%F%9%H=1B=28B?="
> ここで行なわれた変換は ESC -> "=1B" と "(" -> "=28" です。
括弧「(」も変換してしまうのですね。
> > Mule 2.3 + GNUS 4.1 + tm で見ると「=?ISO-2022-JP?Q?テスト?=」
> > になりました。
> tm はちょっと古いのでナンですが、後継の FLIM/SEMI や遠い後継の
> Gnus でもそういう処理をします、と言うか RFC2047 に基づいたエンコー
> ドだとは思っていないみたいです。
古いといってもまあ、使っている人もいるし、選べるなら古い方に
合わせてもらうと適応範囲が広がるということがあります。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735