GB2312への変換がうまくいきませんNo.20715
Hayato さん 06/01/12 11:29
 
初めまして。
簡体中国語(GB2312)を扱うことが多いのですが、うまくいかないことが
あります。

秀丸エディタV4.15を使用して、日本語で入力した文字を簡体文字に
変換して保存した時に、秀丸エディタ上は文字を再現することは可能で
すが、GB2312コード内容が別のコードに変換されるものがあります。

    Shift-JIS  秀丸GB2312   GB2312
例 責 x90D3     xD89F       xD4F0

他にも沢山あります。ちなみにGB2312では、x○○00〜x○○9F には
文字は割り付けられていないように見えます。

これは簡体文字コードの問題なのかもしれませんが、どなたか理由等
ご存じなら教えて頂けませんか? 宜しくお願いします。

[ ]
RE:20715 GB2312への変換がうまくいきませNo.20716
秀丸担当 さん 06/01/12 17:06
 

調べてみたところ、「責」という字は確かにGB2312で 0xD89F のようです。

0xD4F0 の文字は「責」ではなく下の「貝」の部分に「人」が入ったような文字
だと思います。

MS-IMEの文字一覧などを使って、Unicodeでいうところの 0x8D23 の文字を入力
してみると確認できるのではないかと思いますが、どうでしょうか。

[ ]
RE:20716 GB2312への変換がうまくいきませNo.20717
Hayato さん 06/01/12 19:15
 
秀丸担当者様
早々のご回答ありがとうございます。

>0xD4F0 の文字は「責」ではなく下の「貝」の部分に「人」が入った
>ような文字だと思います。

おっしゃる通りです。「責」という漢字が簡体文字に存在しないので
その代替文字の「人入り責」に変換してくれる仕様なのかなと思って
いたのです。

>調べてみたところ、「責」という字は確かにGB2312で 0xD89F

「責」がGB2312で、0xD89F というのが、いろいろ調べたのですが
どうしても分かりません。そもそも2バイト目は 0xA1〜0xFE と
書かれています。参考となるようなサイトがあれば教えて下さい。

秀丸エディタの仕様から少し外れるかもしれませんがお願いします。

[ ]
RE:20717 GB2312への変換がうまくいきませNo.20719
秀丸担当 さん 06/01/13 10:09
 

>「責」がGB2312で、0xD89F というのが、いろいろ調べたのですが
>どうしても分かりません。そもそも2バイト目は 0xA1〜0xFE と
>書かれています。参考となるようなサイトがあれば教えて下さい。
>
>秀丸エディタの仕様から少し外れるかもしれませんがお願いします。

GB2312の変換は、Windows APIでいうところの WideCharToMultiByteとか
MultiByteToWideCharとかを使っていて、これにコードページ936を指定して変換
しています。
Word2000で名前を付けて保存で「エンコードされたテキスト」としてGB2312を指
定しても同様の結果が得られました。

GB2312についてWeb検索などをして調べてみると、確かに第二バイトは0xA1〜
0xFEしかないような感じもします。
ひょっとしてGBKといったほうがいいのでしょうか。

正しい規格なのかわかりませんが、以下のページの GB2312 Usage D0-DF のあ
たりを見てみると「責」の字も載っていて、Windows API を使った変換もこれに
沿った感じで変換されているように見受けられます。
http://www.theinternetfoundation.org/China/chinese/

もしこれがGB2312と呼ぶのにふさわしくなく、真のGB231への変換が必要であれ
ば、独自の変換テーブル等を作成して、新しいエンコードの種類を新設するしか
なさそうです。

[ ]
RE:20717 GB2312への変換がうまくいきませNo.20720
いいじま さん 06/01/13 11:16
 
でるもんたです。

>>調べてみたところ、「責」という字は確かにGB2312で 0xD89F
>
> 「責」がGB2312で、0xD89F というのが、いろいろ調べたのですが
> どうしても分かりません。そもそも2バイト目は 0xA1〜0xFE と
> 書かれています。参考となるようなサイトがあれば教えて下さい。
>
> 秀丸エディタの仕様から少し外れるかもしれませんがお願いします。

もともとの GB2312 の規格では確かに第一・第二バイトとも 0xA1〜0xFE なのですが、
それでは収容可能な文字数が足りないということで、いろいろと拡張されています。
問題の 0xD89F は GBK という規格で拡張された文字だと思います。

そのあと GB18030 という規格ができて、追加された文字は何と4バイトで1文字を
あらわすということをしています。

詳しくはこちらをご参照ください。
http://developers.sun.com/dev/gadc/technicalpublications/articles/gb18030.html

[ ]
RE:20720 GB2312への変換がうまくいきませNo.20722
Hayato さん 06/01/13 12:27
 
秀丸担当者様、でるもんた様


>でるもんた様
>問題の 0xD89F は GBK という規格で拡張された文字だと思います。

お二人の情報を元にいろいろと調べてみました。たしかに今のWindowsで
扱われているのは純粋のGB2312-80ではないのですね。GBKという規格
なのか、もう少し拡張されているものかは理解できませんでしたが、
少なくても「簡体文字」+αということは理解できました。

考えてみれば、私は「秀丸メール」をかなり前から愛用させてもらって
います。あまり考えることもなく、文字コードを簡単中国語にして
簡体字混じりで「責任、財務」等の文字を書いていました。問題なく
使えていました。GBKだったから良かったのですね。純粋GB2312-80
だったら、とても使いづらかったと思います。

>秀丸担当者様
>真のGB231への変換が必要であれば、独自の変換テーブル等を作成
>して、新しいエンコードの種類を新設するしかなさそうです。

今回、日本語テキストを簡体字だけで(分かるレベルで)表現する必要が
ありましたので質問させて頂いたのですが、一般的にそういう機能が
必要とは感じません。秀丸担当者様のアドバイス通り、私の方で独自に
変換ソフトを作成する方向で考えてみます。

今回問題でお二人からの情報以外に、下記情報も役に立ちましたので
お知らせしておきます。いずれも正式版ではなく参考程度ですが。
http://www.kishugiken.co.jp/cn/code10c.html  簡体字との対照表
http://www.antenna.co.jp/gbfs/gb_encode.htm  規格について

どうもありがとうございました。

[ ]
RE:20722 GB2312への変換がうまくいきませNo.20723
秀丸担当 さん 06/01/13 16:29
 

>考えてみれば、私は「秀丸メール」をかなり前から愛用させてもらって
>います。あまり考えることもなく、文字コードを簡単中国語にして
>簡体字混じりで「責任、財務」等の文字を書いていました。問題なく
>使えていました。GBKだったから良かったのですね。純粋GB2312-80
>だったら、とても使いづらかったと思います。

そうですか。文字の変換の便利さはともかくとして、GB2312としてのエンコード
に不都合が発生しているわけではないということであれば、とりあえずこのまま
にしておこうと思います。
いろいろ情報ありがとうございます。

[ ]
RE:20723 GB2312への変換がうまくいきませNo.20724
Hayato さん 06/01/13 18:46
 
>GB2312としてのエンコードに不都合が発生しているわけではない
>ということであれば、とりあえずこのままにしておこうと思います。

私の不勉強で余計な事を聞いてしまい、すみませんでした。
GB2312のエンコードを純粋GB2312-80にしたら、多分、Userの多くの
方が困られるでしょう。

余談ですが、私は中国で多く過ごしていますが、「Hidemaru」という
単語をよく聞きます。中国I○○などのメーカーの方ですら「秀丸でエン
コードすればいい」などと言うのです。国際的な秀丸にとても感動し
又、同じ日本人としてとても誇りに感じます。今後とも宜しくお願い
します。

[ ]