在 2002-11-26 二 的 12:13, Dmitry Timoshkov 写道:
"yf" fyou@dsguardian.com wrote:
if ( IsLegalDBCSChar_cp936( *str_src, *(str_src+1) ) ) {
str2b_dst->byte1 = *str_src;
str2b_dst->byte2 = *(str_src+1);
str2b_dst->byte1 = *str_src&0x7f;
str2b_dst->byte2 = *(str_src+1)&0x7f;
This doesn't seem right, the values for cp936 byte2 apparently go from 0x40 to 0xfe. Any cp936 experts out there?
But if I modified, the Chinese character can be printed, otherwise it is a rectangular.
Have you tried to mask only byte1?
If I only mask byte1, the Chinese character can not be properly printed. I have tried.
-- Dmitry.