geotri 发表于 2013-6-2 12:51:43

字符显示出错,变成乱码

9860中的Addin,如下代码,不能正确显示,看起来是使用了扩展的字符原因,请大家帮忙。
char aa[] = "\xE6\x51";       //normal,display "σ"(西格玛 Sigma)
char bb[] = "\xE6\x51f";      //do not display "f"
char cc[] = "\xA9f";             //do not display at all

Bdisp_AllClr_DDVRAM();
locate(5,1);
Print(aa);
locate( 3,3 );
Print(bb);
locate( 3,4 );
Print(cc);
WatiKey();

hhacker 发表于 2013-6-3 11:47:28

10.支持扩展ascii显示,形如:
PrintXY(110, 22, (unsigned char*)"\xE6\x9C\0", 0) ;

geotri 发表于 2013-6-4 09:39:05

用这个函数,还是一样会出现乱码。楼上的字符串中的'\0',不起作用,可以省去。

hhacker 发表于 2013-6-5 11:50:25

geotri 发表于 2013-6-4 09:39 static/image/common/back.gif
用这个函数,还是一样会出现乱码。楼上的字符串中的'\0',不起作用,可以省去。

f应该是一个小bug,改成不是f的字符就能正常显示,比如g
PrintXY(1, 4, (unsigned char*)"\xE6\x51g", 0) ;
如果要显示f ,可以像这样:
PrintXY(1, 4, (unsigned char*)"\xE6\x51\x66", 0) ;

hhacker 发表于 2013-6-5 11:53:21

本帖最后由 hhacker 于 2013-6-5 11:59 编辑

geotri 发表于 2013-6-4 09:39 static/image/common/back.gif
用这个函数,还是一样会出现乱码。楼上的字符串中的'\0',不起作用,可以省去。
http://dumpt.com/img/files/11lbrfxdcvs6eyslzjr5.jpg
页: [1]
查看完整版本: 字符显示出错,变成乱码