Thread View: fj.lang.visualbasic
6 messages
6 total messages
Started by Masashi Kusumoto
Tue, 03 Mar 1998 00:00
質問:文字コードについて
Author: Masashi Kusumoto
Date: Tue, 03 Mar 1998 00:00
Date: Tue, 03 Mar 1998 00:00
10 lines
955 bytes
955 bytes
こんにちは。レスありがとうございます。楠本と申します。 説明不足で申し訳ありません。 私が知りたいのは、プログラミングテクニックです。 自己プログラムで何とかSJIS、JIS、EUC間のコードを 変換したいんですが、良いアドバイス頂けないでしょうか。 よろしくお願いします。 > 文字コードの変換についての何を知りたいのでしょう。 > 変換ソフト? プログラミングテクニック? 文字コード表??
Re: 質問:文字コードについて
Author: よろずや kin-chan
Date: Tue, 03 Mar 1998 00:00
Date: Tue, 03 Mar 1998 00:00
19 lines
1446 bytes
1446 bytes
こんにちは よろずや kin-chan です Masashi Kusumoto <kusumoto@ksd.co.jp> wrote in article <34FB4BB6.B421C427@ksd.co.jp>... > こんにちは。レスありがとうございます。楠本と申します。 > 説明不足で申し訳ありません。 > 私が知りたいのは、プログラミングテクニックです。 > 自己プログラムで何とかSJIS、JIS、EUC間のコードを > 変換したいんですが、良いアドバイス頂けないでしょうか。 > よろしくお願いします。 基本的には、変換元の文字列から1文字ずつ取り出して、 テーブルでコード変換して変換先に付け足していく、 というだけのことですね。 SJIS、JIS 間でしたら全文字のテーブルはいらないかも。 あとは、シフトコードを付けたり外したり。 変換できなかった文字の扱いとか。けっこう面倒。 では EUCってなんでしたっけ、思い出せない(^^;
Re: 質問:文字コードについて
Author: Naomi Suzuki
Date: Wed, 04 Mar 1998 00:00
Date: Wed, 04 Mar 1998 00:00
57 lines
3031 bytes
3031 bytes
こんにちは、鈴木です。 Masashi Kusumoto wrote in message <34FB4BB6.B421C427@ksd.co.jp>... >こんにちは。レスありがとうございます。楠本と申します。 >説明不足で申し訳ありません。 >私が知りたいのは、プログラミングテクニックです。 >自己プログラムで何とかSJIS、JIS、EUC間のコードを >変換したいんですが、良いアドバイス頂けないでしょうか。 >よろしくお願いします。 > シフトJISもEUCも、JISの文字テーブルを元にしているので、以下のルールに 従って、簡単に変換することができます。 ・JISのルール JISは7bitのコード体系なので、英数記号のいわゆるASCIIテーブルしか使用 しません。ローマ字用の7bit文字セットと、カタカナ用の7bit文字セット(い わゆる半角カナ)は、SI(0Fh)/SO(0Eh)を使って切り替えます。 SI -> ローマ字テーブルへ SO -> カタカナテーブルへ 1バイト文字セットと2バイト文字セットとの切り替えには、次ぎの3文字のエ スケープシーケンスを使用します。 <ESC>$B -> 2バイト文字セットへ <ESC>(B -> 1バイト文字セットへ <ESC> = 1Bh エスケープシーケンスは他にもありますが、現在は、実質これしか使用してい ないと思います。 ・シフトJISのルール SJISは8bitが前提です。1バイトコードの中の未使用領域を2バイト文字セッ トの第1バイト目に使用することにより、エスケープシーケンス無しで2バイ トコードと1バイトコードを識別します。具体的には、「81h~9Fh」と「E0h ~FCh」が第1バイト目。「40h~7Eh」と「80h~FCh」が第2バイト目で、JIS コードの文字テーブルは、そのままのこれらコードで構成される4つのブロッ クに分割して割り当てられています(だからシフトJISなんですね)。 なお、カタカナ用のテーブルは、7bitのJISコードの最上位ビットが立ったも のになります。 ・EUCのルール EUCも8bitが前提で、こちらもエスケープシーケンスは使用しません。コー ドテーブルもJISそのままで、2バイトコードの場合には、第1バイト目の最 上位ビットを立てて識別します。1バイトコードのカタカナ用のテーブルは、 未定儀コードである8Ehを頭に付けて、こちらも2バイトで表すことになって いますが、実際にこれが使われているのかどうか、よく知りません。
Re: 質問:文字コードについて
Author: Masashi Kusumoto
Date: Wed, 04 Mar 1998 00:00
Date: Wed, 04 Mar 1998 00:00
13 lines
955 bytes
955 bytes
楠本です。 よろずや kin-chanさん。 どうも、レスありがとうございます。 本当、初心者で申し訳ございません。 テーブルでコード変換ってところが良く分かりません。 つまらない質問で申し訳ないんですが、その辺のことを詳しく書いた本、HP等で も結構ですので 教えて頂けないでしょうか。 よろしくお願いします。
Re: 質問:文字コードについて
Author: よろずや kin-chan
Date: Wed, 04 Mar 1998 00:00
Date: Wed, 04 Mar 1998 00:00
30 lines
1753 bytes
1753 bytes
こんにちは よろずや kin-chan です Masashi Kusumoto <kusumoto@ksd.co.jp> wrote in article <34FCB0B1.A62AB408@ksd.co.jp>... > 楠本です。 > よろずや kin-chanさん。 > > どうも、レスありがとうございます。 > 本当、初心者で申し訳ございません。 > > テーブルでコード変換ってところが良く分かりません。 質問は2バイトコードの変換ですが、複雑になるので 1バイトコードの変換の例で説明します。 ASCII->EBCDIC の例で説明すると、 まず、1バイト×256個(先頭が0番目)の配列を用意します。 ASCIIの"A"をEBCDICに変換するには、 ASCIIの"A"のコードが X'41'(10進数で65)ですから 「配列の65番目の文字を取り出すとこれがちょうど EBCDICの"A"(X'51')」となるように、あらかじめ配列に値を入れておく。 ただそれだけです。 でも2バイトコードの表はかなり大きくなります。 他の方のフォーローにもあるように、もっと省略したテーブルを 工夫してみてください。 EBCDICのコード表が手元にないので、記憶だけで書いてます(^^; では
ありがとうございました。
Author: Masashi Kusumoto
Date: Fri, 06 Mar 1998 00:00
Date: Fri, 06 Mar 1998 00:00
4 lines
700 bytes
700 bytes
よろずやkin-chanさん、Naomi Suzukiさんありがとうございました。 やり方としては、わかったんで頑張ります。 お世話になりました。
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads