68user's page 掲示板

Prev< No. 666〜678> Next  [最新発言に戻る] [過去ログ一覧]
No. 666 # <FONT COLOR=red>mm</FONT> [URL] [E-mail] 2000/01/18 (火) 03:14
>〓〓
は、i と viii のつもりでした。

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 667 # skeleton_M. [E-mail] 2000/01/18 (火) 11:47
> UNIX USER 12月号にFreeBSD3.3Rがついてるのでこいつを注文することにしました。
UNIX USER 2000年3月号にはFreeBSD 3.4が収録予定だと思います :-)

No. 668 # 68user [URL] [E-mail] 2000/01/18 (火) 22:41
> Transfer-Encoding: chunked
全然わかりません。RFC 読んでも何のことやらさっぱりなんで、
どなたか教えて。

> 今、投稿する時に へにかさんのクッキーを食べちゃってるみたいなんですが
ああ、そうですね。確かに前の人のが入ります。バグですね (^^;

> <FONT COLOR=red>mm</FONT>
ああ、バグですね。これ、直したつもりだったんだけどなぁ。

> i と viii のつもりでした。
あああ、バグ…ですかね? 書き込んだ i は (SJIS で)
0xEEEF ですか? それとも 0xF940 ですか?

ところで、http://X68000.startshop.co.jp/~68user/tmp/knj-tut.txt の
2D30/874F の行は、うちでは
    2D30/874F 丸16丸17…I II III…VIII IX X XI(行末)
と見えるんですが、Windows でも同じですか? XI なんてフォントあります?
# うちのフォントは機種依存文字部分を追加したものなのですが、
# 追加時にミスってしまったのかもしれない。

> うーん、cookieと半角カナ以外の改造点が分からないなぁ(^∪^
ログ形式を
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/lall
としました。初回の出力時は
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard-log/cache/
のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、
キャッシュが有効なら、前回作成したキャッシュを Content-Length と
Last-Modified を付けて出力します。

# だから、前の投稿者への FORM 内容が残ってしまったと。

No. 669 # yuichi [E-mail] 2000/01/19 (水) 11:40
ネットワークプログラミング勉強させていただきました。

ところで現在、無謀?にもperlで自作proxyサーバを作っているのですが
ローカルIPの接続はできるのですが、Internet側(gateway)の環境越
がうまく動かないのですが。
perlでのソケット通信においてなにかgateway等の設定があるのでしょうか?
*HTTPサーバ上でperlを動かすぶんにはhttpサーバが勝手にgatewayを越え
て接続してくれるので問題なかったのですが。httpサーバではなく直接
linuxに常駐するとうまく動きませんでした。
だれか知っている方いませんか?

*接続webサーバのIP取得にはgethostbyname関数を使用しています。
  自作proxyサーバはマルチスレッドにおいてlinuxサーバ側で常
  駐させ、クライアントのプロキシ接続要求をPort:8080で監視さ
  せています。

  ちなみにHTTPコネクションの参考にしたものは以下のサイトです。
  興味のある方は参考に。

  URL:http://www2d.biglobe.ne.jp/~gama/cgi/index.cgi

No. 670 # yuichi [E-mail] 2000/01/19 (水) 12:50
下の書き込みの件、解決しました。

当方のlinuxサーバの設定ミスにより正しくgateway設定がされていなく
見つけられなかったようです。(初歩的ミスです)
よって正しくGatewayがサーバ上で設定されていれば、gethostbyname関数
において正常に相手サーバのIPアドレスは取得できました。


これで自作Proxyは動くようになりましたが、なぜか遅い!
サーバ側への負荷はあまりなさそうなのですが画像(gif・jpg)
のデータ取得が遅く、ソケットから必ず最後のバイト読み込みに
おいてリターンがなかなか返ってこないのです。
画像データの取得にやり方があるのでしょうか?

*完成したら公開しますので勉強材料にでもしてください。
  なかなかPerl Proxyは公開されていませんので。

No. 671 # mm [URL] [E-mail] 2000/01/19 (水) 19:24
>0xEEEF ですか? それとも 0xF940 ですか?
�世蓮�0xFA40 です。0xF940 にはなにもありません。

>と見えるんですが、Windows でも同じですか? XI なんてフォントあります?
分かりやすいように、キャプチャしてみました。( XI はありません)
http://www2s.biglobe.ne.jp/~cru/test/moji01.gif
knj-tut.txt によれば、これがNEC PC-98シリーズの依存文字になってるようですね。
ウチのパソコンは、このNEC PC-98シリーズなので、PC/AT互換機でも同じように
見えるかどうかは分かりません。

ついでに、0xEEF0 や 0xFA40 付近も含めてキャプチャーしてみました。
↓オリジナルHTML
http://www2s.biglobe.ne.jp/~cru/test/moji02.html
↓ブラウザで見たキャプチャ画像
http://www2s.biglobe.ne.jp/~cru/test/moji02.gif


>のようにキャッシュファイルを作成し、次回はタイムスタンプをみて、
むむー、まだ理解してないけど、なんかスゴいことやってる(苦笑)

No. 672 # 68user [URL] [E-mail] 2000/01/19 (水) 21:39
> 画像データの取得にやり方があるのでしょうか?
ん〜、ソースを見ないことには何とも言いがたいです。

> 0xFA40 です
ありゃ、
    http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html
の「1バイト目がF9」という記述が間違っているのかな? このページには
とてもお世話になっているので、間違っているなら feed back しておかないと。

で、115〜119区についても自動変換するようにしておきます。

> このNEC PC-98シリーズなので
98 の機種依存文字と言っても、Windows を動かすと PC/AT 機と
同じなんでしょうかね。

No. 673 # mm 2000/01/19 (水) 22:35
>の「1バイト目がF9」という記述が間違っているのかな?
文字コード表くらい、どこかにあるだろうと思って、検索したけど、意外とないですね。
ウチの漢字コード表では、間違いなく115区はFAになってます。

http://www.vector.co.jp/soft/win95/util/se102214.html
>IBM拡張文字区点コード(換算)で115区〜119区(FA40-FC4B)
という記述もありました。

やはり、
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/115-116ku.html
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/117-118ku.html
は、1ずつずれてるんじゃないかなぁ…
http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/119-120ku.html
のFCはOKかな

>Windows を動かすと PC/AT 機と同じなんでしょうかね。
うーん、よく分かりません(苦笑)

No. 674 # goosan [E-mail] 2000/01/19 (水) 23:19
0xFA40という文字ですが、私の環境(PC/AT+Win95)では、
この掲示板上では i とは表示されず、0xEDBEと同じ文字として表示されます。
同様に viii も0xEDC5と同じになっています。
この掲示板の漢字コードはEUCのようですが、EUCの2バイト漢字の範囲は
JIS-X0208と同じで、これはシフトJISで0xEFFCまでに対応しているので、
それ以降のシフトJISコードはEUCに変換できません。
するとこの場合は、0xFA40というコードがEUCに変換されずに素通りして
しまい、その第1,2バイト目のそれぞれのトップビットを取った
0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。

No. 675 # mm 2000/01/20 (木) 01:08
>0x7A40がたまたまシフトJISの0xEDBEに一致していたためと思われます。
ちゃんと理解してませんが、Shift-JISの0xEDBE(日偏に春の文字)は、EUCのソース上では、
0xFAC0になってますね。
これは、0xFA40が変換されずに、第2バイトのMSBが立っただけってことかな?

No. 676 # 68user [URL] [E-mail] 2000/01/20 (木) 01:09
いえ、違うと思います>goosan

この掲示板では、入力文字列を jcode::convert を使って EUC に
変換し、EUC コードで機種依存文字のチェックをしています。

で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に
変換するようですが、これは多分間違った結果ではないかと思います。
# EUC の扱える JIS X 0208 は 94区までしか定義されていないので、
# 間違っているという表現は不適切かもしれませんが。

で、EUC の 0xFAC0 は
    http://www2d.biglobe.ne.jp/~msyk/charcode/kisyuizon/89-90ku.html
の `日春' という文字に相当するので、その文字が表示されている、
ってことだと思います。

で、mm さんはそれをコピーして
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=666
に書かれたので、`日春'`が自動変換され、「〓」となってしまった
ということではないでしょうか。


さて、困ったなぁ。SJIS で 95区以降 (JIS X 0208 で
規定されていない部分) の入力があった場合どうするべきか。
…と悩んで調べてみたところ、
    http://www.opengroup.or.jp/jvc/cde/sjis-euc.html
> 注記:
> ...
> 3.NEC選定IBM拡張文字は,SJISから日本語EUCへの変換においては,
>  SJISでいったん IBM拡張文字に 変換してから日本語EUCに変換する.
    http://www.opengroup.or.jp/jvc/cde/ibmext-table.html
のように、補助漢字 (JIS X 0212) に置換するのも一つの解な
ようですね。ただ、少なくとも FreeBSD (X Window System) では
JIS X 0212 フォントはオプショナルですし、Windows ではまず
JIS X 0212 は使えないでしょうし (SJIS では JIS X 0212 は
使用できない)、現実的ではないかもしれません。

結局 jcode.pl を修正し、さらにブラウザが Windows なら
SJIS で出力、UNIX なら EUC で出力、ってことになるのかなぁ。
# …なんかどんどん深みにはまっていってるような気が (笑)

ところで、仮に mm さんが 91/92 区の i/viii を使っていたら
自動変換されたはずなのですが、mm さんがお使いの IME は
普通に i/viii を入力すると 115/116区のコードになって
しまうんでしょうか?

No. 677 # mm 2000/01/20 (木) 03:19
>普通に i/viii を入力すると 115/116区のコードになって
>しまうんでしょうか?
普通かどうかはよく知らないんですが、「いち」を漢字変換しても
大文字のIしか出て来ないので、MS-IMEの「漢字辞典」というウインドウを開いて、
「特殊文字」タグの中から小文字のローマ数字を選ぶと115区の��(i)が入力されます。

この「特殊文字」タグは、8区の罫線や13区の記号の一覧になっているんですが
(大文字のローマ数字も13区のものです)、小文字だけが115区になっています。
文字コード表というアプリケーションを使う以外に、92区の�颪鯑�力する方法
を知りません…ホントに私が知らないだけかも知れませんが(苦笑)

>で、mm さんはそれをコピーして
ピンポ〜ン!
後で調べようと思って、忘れてました(苦笑)


>で、jcode::convert は、SJIS の 0xFA40 (i) を 0xFAC0 に
>変換するようですが、これは多分間違った結果ではないかと思います。
jcode.pl の変換部分って、覗いたことなかった(苦笑)

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 678 # goosan [E-mail] 2000/01/20 (木) 09:12
そうですね。EUCだから逆ですね。JISにこだわり過ぎてしまったようです。

>この掲示板では、入力文字列を jcode::convert を使って EUC に
>変換し、EUC コードで機種依存文字のチェックをしています。
フォームが送出したデータがどういう漢字コードだったかという点も
気になります。一般にはフォームのあるページと同じ漢字コードに
なることが多いようですが、仮にそうだとすると、キーボードから
フォームに入力した際にはSJISだったのが、フォームがデータを
送出する際にはEUCに変換され、jcode'convert()が入力漢字コードの
自動判定をする際に多数決の論理でEUCと判定され、私がjcode.plを
見る限りではEUC->EUCではカナの半角<->全角変換をしない限りは
何もしないようなので、jcode.convert()でMSBが立ったことは
有り得ないようです。

Prev< No. 666〜678> Next  [最新発言に戻る] [過去ログ一覧]