[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: Backspace 2bytes character
- To: bep@argv.org
- Subject: Re[2]: Backspace 2bytes character
- From: Takayuki Watanabe <takayuki@la.shonan-it.ac.jp>
- Date: Thu, 03 Aug 2000 20:28:53 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
渡辺@湘南工科大です。
白藤さん、アドバイスありがとうございます。
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++べったりですが)
今から試してみます。