[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Backspace 2bytes character



渡辺@湘南工科大です。

白藤さん、アドバイスありがとうございます。

On Thu, 03 Aug 2000 15:34:18 +0900, Hideki Shirafuji wrote:
> International.cpp と MainFrm.cpp で
> BOOL IsDBCSLeadByte(BYTE) が使われていますが、これはUnicode(DBCS)の
> 先頭バイトを調べるAPIでSJIS(MBCS)には対応していないように思うのですが?
> 問題でていませんか?
MSのいうDBCSとは16ビットのUnicodeと同一なのでしょうか?
MSDNを読んでみると、
・ANSI (single-byte character sets)
・DBCS (double-byte character sets)
・UNICODE
という分類になっていて、
"DBCS, sometimes reffered to as MBCS"とも書いてあるので、IsDBCSLeadByte
でシフトJISを検査できると思っていました。
それにこの関数はコードページに依存しているからUnicodeじゃないと思いま
す。

ところでWindowsのUnicodeのエンコーディングスキムは何なのでしょうか?
そこら辺がよくわかっていないのですが、Unicodeだったらもっと簡単に判別
できそうな気がするのですが。

> # いまだに実行環境の作れない情けないやつです(T_T)

是非Windows版をお楽しみください。
# ソースも書いてね(笑)

> _ismbblead( unsigned int ); なら、Windows のコードページに対応して
> いるので多少つぶしは利くかも。

> _MBCS をコンパイルオプションに追加しているので、_ismbblead() か_istlead()
> を使うのが無難かと思います。(VC++べったりですが)

今から試してみます。