博:えへん。漢字コード等の具体的な話、特に内部コード、表示コード等は、各 サイト、各部署によって事情が違います。ですから、各サイト、各部署ごと に教育していただきたい。 本:おや、これって、もしや。手抜きではないかな。 博:なにせ、Netnewsでは、ニュースシステム内はEUCだけど、外に送る時はJISに しており、さらに、いわゆるShift-JISで表示するパソコンでユーザが読む、 といったこともしばしば存在するわけです。だから、コード系の話は、サイト ごと、システムごとに違ってるわけで、そこでうまくいくようにして下さい。 本:早い話が、ここでは全部の場合を説明するのが面倒だからやらないという話。 博:そうだな、だから、一般的な話をさせてもらう。実際にだ、記事によっては、 例えば「!V#f#j$NJb$-J}!W$H$$$&$N$O$H$F$b$$$$K\$G$9」とか書いてあるな。 本:あ、これ知ってる、いわゆる「コード化け」ってやつですよね。全文がこれ って時もあるけど、signature等でおこるんですよね。自分で気付かんのかな。 博:いや、気付いてない場合と、気付いてもどうしたらいいかわからん場合とか、 まあいろいろあるわな。まあ、ちゃんとテストしておけば大丈夫であろうな。 本:あとですね、よくあるんですが、パソコンとかワープロで、JISの表にない字 があるでしょ?あれを使われると、なんというか文字化けすることがあるん ですよ。丸数字とか、罫線とか、そんなのってのが結構多いんですよねぇ。 博:うむ。自分の所で読めているからといって、相手で読めるかどうかはわから んものだ。まあ、練習したりテストしたり、また注意できるものは意識して 注意し書くようにしておくにしかずである。とはいえ、なかなかそうはいか んのだな。だから、他の人から指摘をうけたら、「俺のとこでは問題ないの にいちゃもんつけるな」とか「こっちが主流だ数が多いんだ」などと怒りま くらずに、もっと素直に、うまく表示されないという事実を認識し、まあ、 その後で投稿する場合に役立てていくしかないな。その後が重要なんだな。 本:そうですよね。それに、注意する人の方も、「俺様の読めないような、しか も、JISの表にない間違った文字を使ったな!さあ、謝れ謝れ、謝罪しろ!」 なんて調子で言わないでほしいもんですね。なにせ、自分の所ではおかしく 表示されない人なわけですから、強い調子で言えば言うほど、いちゃもんを つけられた気になって、かたくなになり、双方不快になるだけなんですから。 博:まあ、あたりまえのことだが、「相手の立場に立って考える」のも必要だな。 本:あ、それからですね、私の使っているソフトがそうなってるのかもしれませ んけど、記事を読んでるとですね、一行が長いやつだと、折り返しますよね、 で、そこで文字化けすることが結構発生するんです。これはソフトのせいで すよね。 博:まあ、そういうことが発生しないソフトを皆が使えばそれでいいのだが、な かなかそうもいかんしな。それに、一行があまり長いとネットワークで転送 する時に、変に切られてしまうということもある。結論からいえば、あまり 長い行というのは、書かない方がいいですな。 本:でも行の長さは規則はないですよね。強制されているわけではないんでしょ。 博:そうだよ。でも、まあ、過去からいわれているのは、だいたい1行あたりで、 70byteぐらいが目安かな。それ以上だと、多いと感じるひとが多いようだな。 本:へえ、まあ、emacs系のやつだと、折り返しは簡単だな。そうかぁ、画面って のは、80字ってのが多いから、それが目安になっているということですよね。 博:その通り。それから、1行うんぬんといったが、これはテキストの話だな。 これでバイナリを送るような場合というのがある。電子メールやNetnewsで、 バイナリのプログラムそのまま送ってしまうと、送り先では壊れてることが 結構あるんだぞ。 本:あ、それって、さっきの文字コードとか、一行の長さとかと同じことですね。 博:まあ、そういう面もあるな。よくいわれているのは、電子メールやNetnews を中継する所には、まだまだ、8ビット目が通らずに壊してしまったりする 所が結構あるんだな。それにだ、そもそもNetnewsや電子メールは文字情報 を送るためのプロトコルを使っているのだ。だから、文字でないバイナリの データが来たらどうなるかわからん。 本:そうですよね。バイナリだったら、偶然にも、通信終了を意味するのが出現 しないとも言えないし、何か制御の意味があるのが出現してしまいますよね。 博:まぁ、うまくいく場合も皆無ではないし、この頃のメールのシステムには賢 いのもあるから、絶対に送れないとまではいいきれないけどね。まあ、バイ ナリをそのまま送ったらうまくいかない。だから、文字の形で送るんだね。 本:ということは、ソースプログラムということですか。 博:いやいや、そういう手もあるが、そうではないんだ。うーん、例が悪いかも しれないが、例えばバイナリのダンプリストをとると、あれは文字だけだな。 本:そうですよ。ダンプリストですもん。あれは、各バイトに一対一の対応です。 博:だから、ダンプリストは、電子メールやNetnewsで送れるわけだ。そこで、う けとった人が、ダンプリストから元のバイナリデータを復元できるはずだな。 本:あ、そうか、そういうことなのね。そういう手を使うということなんですね。 博:実際のものは、正確にいえばちょと違うが、アイデアとしては、バイナリデ ータを、まず送る方で変換して、転送により変にならない文字の形にして、 受ける方では、その文字からバイナリデータを復元するというやつだ。例え ば、ishとかuuencode/uudecodeとかがある。これには、変種がいろいろあっ て、チェックサム機構とかがあったりするのがあるし、何ビット展開するか というのもある。 本:(*_*) 博:おっと、本郷君ったら、こういう細かい話は理解できないようだな。目が点 になっておるぞ。まあ、fj.*においては、普通はuuencode/uudecodeという のを使う、ということをひとまず記憶しておれば十分だな。 本:だから、fj.binaries.msdosの記事って、アルファベットとか記号とかが、 ひたすら並んでるんですね。あれって立体視かと思ったら違うんですね。 博:そうじゃ。で、復元だが、まあ、ファイルとかにおとしてuudecodeするとか、 復元のプログラムに喰わせるとか、まあ、色々あるが、これも、ローカルに 聞いてほしいな。それに、誰も周囲の人が教えてくれなければ、最後の手段、 fj.questions.miscへと質問するという手もあるな。まあ、それは最後の手段。 本:あ。それでまた思い出した。 博:何か厭な予感がするな。 本:最後の手段ということなんですが、時には漢字が使えなくなってしまいます よね。そういう時って、ローマ字で書きますよね。で、そういう時ですが、 fj.*では、ローマ字を書く場合、訓令式なのか、ヘボン式なのか、どっちな んでしょうか。いざ、という最後の時なんですけどね。ヘボン式ってのは、 ichikawa da joってやつで、訓令式ってのが、itikawa da zyoですね。 博:fj.*にはそういう規定はない。どちらでもお好きな方を。それに、こういう 二つの方式があってどうこうする論争というのは、えてして神学の論争のよ うになるんだな。そう、ある意味で「○○は正しい、ゆえに、○○は正しい」 というかんじといえば、わかるかな?そして、不毛な議論になりがちなんだ。 本:そうなんスか。まあ、どっちでもいいということですね。 博:そう。まあ、読めれば、どっちでもいいのよ。まあ、過去のfj.*の議論とか を見ているかぎり、自分と違う方式だからといって、相手をあまり責めたり、 改宗させようとは考えないようにした方がいいと思いますね。まあ、そうす したければ、それは自由ですから、やってもいいけどね。でも、ほとんど、 もう、主観的というか、信仰みたいなもんでね。論争をするだけ疲れるだけ のように思いますな。まあ、精神衛生の観点からいえば、この手の議論は、 ほどほど、がいいと思いますよ。 本:でも、中に英単語等が入る場合がありますよね。node, site, madeとかね。 博:まあ、そういう時は、NODEのように、周囲とは大文字・小文字を変化して利 用すると区別がついて便利ですけどね。あと、引用符でくくるとかの手もあ るから、そこらは、まあ、各自工夫してもらいたいと思うな。 本:あ、それから。なんでこの「fj.*の歩き方」は、段落で一字下げてないんで すか? 博:うっ。まあ、簡単にいうとだな。fj.*などでは、あまり詰めて書くと読みに くいからなんだ。段落を、頭一文字さげた程度では、端末なんかだとあまり 効果的でなく、どこで段落が終るのかわからんのだよ。むしろ、1行あけた 方が、段落が変化して読めて効果的だな。だから、ここでもそういう流儀で 書いているな。段落を適当に切って、改行で1行空けないと、見にくいもの だな。ま、そこらは、効果的に読んでもらえる書き方は工夫してくれたまえ。 本:でも、全部の行を1行おきにすると、かえって読みにくいんですよね。 博:そうだよ。多くの人はそういうのは読みにくいって、感じてるようんだな。 それから、意味のない空行は、意味がない(^_^)のですよ。読むソフトのペー ジャー機能で、連続した空行は詰めてしまうんだな。だからあまり意味がな いんだ。 本:でもですね。例えば、fj.rec.mysteryみたいとこでですね、ある所から先を 読んじゃうと、ネタばらしになる場合もあるでしょ。そのような時には、空 行をいっぱいいれておいた方がいいんじゃないのかなぁ。 博:そういう時は、fj.*では、「^L」を使うんだ。 本:^L? 博:^Lというのは、「コントロールL」のことで、改ページの制御文字。これを 記事の中にうめておくと、たいていのソフトはそこで改ページの為に一旦停 止するのだよ。そうして、その次が先頭からまた開始するという具合になっ ておる。 本:へえ。便利だなぁ。^Lをいれておくと、読む人にとっても便利になりますね。 博:^Lは便利だよ。あ、ただし、行頭でないと有効でないことが多いから、注意。 さっきのネタばらしのような時には、その旨をことわってから、^Lを入れる と効果的だね。あ、そうそう、必要以上にやたらに、^Lがあると、うるさく 感じる人が多いから、面白がってむやみやたらに入れない方がいいだろう。 本:じゃ、ここらでこの話は^Lを入れておきますか。