No. 539/622 Index Prev Next
Path: titcca!nttlab!hirose!tujoho!takag03
From: takag03@tujoho.ecei.tohoku.ac.jp (Hideaki SONE)
Newsgroups: fj.questions.misc,fj.kanji
Subject: kanji mail between junet and bitnet
Message-ID: < 1130@tujoho.ecei.tohoku.ac.jp> 
Date: 6 Mar 90 16:30:16 GMT
References:  < 13890@ccut.cc.u-tokyo.ac.jp> 
Reply-To: sone@ecei.tohoku.ac.jp (Hideaki SONE)
Followup-To: fj.kanji
Distribution: fj
Organization: Dept of Elec Commun, Tohoku Univ, Sendai 980, Japan
Lines: 95
Xref: titcca fj.questions.misc:1753 fj.kanji:657

In article  in fj.questions.misc
  ikeda@recipe.misystems.co.jp (Takatoshi Ikeda) writes:
>興味本意で質問の便乗したいのですが、bitnetjunetしている
> サイト(たいていの大学ではそうだと思いますが)では、漢字
> コードをどのように処理しているのでしょうか???

 うかうかしてるまに、こんな質問が出ましたか。類似の話題が1ヶ月ほど前
にも出ていて、実際に調べたのに忙しさに追われて放ったままでした。この機
会に整理して投稿します。fj.questions.misc と fj.kanji に投稿し、
Followup は fj.kanji だけの指定です。 

 ちなみに、BITNETJUNET するのは、マシンにもよりますが、そう簡単では
ないようです。ほとんど異質なものですから。


In article < 13890@ccut.cc.u-tokyo.ac.jp>  in fj.kanji
  jm@ccut.cc.u-tokyo.ac.jp (Jun Matsukata) writes:
>  BITNET を通る際に、EBCDICコードへの変換が行われるため、漢字コード
> がうまく通らない可能性がありますが、実際にやってみていかがでしょうか。
>       SIMAIL       BITNET      JUNET
>         IA5     -----     EBCDIC   -----    JIS7/ASCII
>   (注)2バイトコードを意識したコード変換は行われていない。


 実験は、JUNET側のここ tohoku.ac.jp とBITNET側のJPNACの間で2月14日
前後に行いました。ゲートウェイとして国内5つの大学内で渡していただきま
した。(実験の了解を取りませんでしたし、非公開のものもあるので当面は所
在を伏せておきます。) 

 結果の概要は、JUNETとBITNETの間でのJIS漢字のメールの流通で
2ヶ所:なにもしないのでそのまま通過する
1ヶ所:BITNET向きはIBM漢字に変換するが、逆向きではそのまま
1ヶ所:妥当な変換をしようとしているらしいが、どちら向きでもどこか変
1ヶ所:ESCコードを含むと通過しない
ということです。以下に詳細を書きます。

◎1バイト文字の透過性 
  漢字の問題の前に、1バイト文字の透過性の問題があります。EBCDICと
JIS/ASCIIの間で変換しますが、対応しない文字があって、化けたり消える問
題を起こします。最終的には両端の端末がJIS/ASCIIなのだから、変換と逆変
換のテーブルが逆関数になっていれば問題有りません。 
(具体的には「!|[]¥$」の6つが危険候補です。¥は\の意味を兼ねて。) 
  結果として、1ヶ所、「!|[]」の変換がよそと違っていました。 

◎漢字制御コードの変換(JUNET-> BITNET) 
  BITNETでは、まだ漢字の使用について協約が確立していません。JIS/ISO準
拠の制御方法も普及してきましたが、各ノードのマシンに応じてIBM漢字や
JEF漢字を使用している例が多く見られます。 
  (昨年12月7日〜14日頃に fj.mail,fj.kanji,fj.questions.miscでこ
の話題が出て、JISに統一されるだろうという話でした。) 
  JUNETから送信する実験では、ESC-$@ $B で漢字を呼出、ESC (@ (B (J で1
バイト系を呼出の合計6通りを入れました。その結果、IBM漢字に変換するの
が1ヶ所、何も変換しないのが2ヶ所、「ESCを含むために変換に失敗して落
ちていた」というメールを親切なポストマスターの方から頂いたのが1ヶ所、
変換に失敗したのか届かなかったのが1ヶ所でした。 
  不着の1ルートは、制御を1通りにして送信すると届きましたが、バイト単
位の変換で化けるノードなもので、漢字も化けました。なお、このノードは、
発表では、漢字を意識して変換し相手ノードによってJEF漢字とIBM漢字を使い
分けるはずです。よそで受信すると、確かに文字化けもなく届きます。 

◎漢字制御コードの変換(BITNET-> JUNET) 
  JPNAC.BITNET の送信する漢字制御は ESC-$B / ESC-(J だけです。逆向きの
実験のときにESCコードに弱かったノードを除いて試しました。 
  結果として、3ヶ所では変化せずに通過しました。残りの1ヶ所は、ESCコー
ドが抜けて、4つのコードがバイト単位で化けて通過しました。 



 ついでに、JPNAC.BITNETのメールの問題点です。

◎送信漢字の制御コード 
  一月前には1バイト系呼出が ESC (@ なので実害もあったのですが、いつの
間にか ESC (J で届いています。 

◎受信漢字の制御コード 
  上の実験でも触れたように、6通りの制御シーケンスの組合せで受信しまし
た。JPNAC.BITNETのサービスマシンはACOS6系なので、受信した漢字はJIPS漢
字に変換されます。ところが、ESC $@ で始まる漢字制御を知らないらしく、
このシーケンスは変換されず1バイトテキストの一部として残ります。一方、
漢字の終わりにあるシーケンスは処理して取り除くので、ESC $@ だけが残り
ます。おかげで、JISでもJIPSでも対応できる端末プログラムでは旧JISのメー
ルを読むと漢字に移行したまま。 

◎受信のメールも固定長 
  受信したメールの行を80バイトで折り畳みます。それだけなら許してもい
いが、折り畳んでから漢字制御の変換をするらしく、例えば行末にあった ESC 
( B の途中でも切ってしまうので制御の理解に失敗します。行の途中で1バイ
トと2バイトの文字を頻繁に切り換えると散々な目に合います。 


 とりあえず、本日は報告まで。(とは言え、行間に……) 


東北大学工学部通信工学科
曽根秀昭 
Next
Continue < 688@nanzan-u.ac.jp>
< 1150@tujoho.ecei.tohoku.ac.jp>
< 1151@tujoho.ecei.tohoku.ac.jp>
< BANNO.90Mar14153011@kekux.kek.ac.jp>