在win下与dos下输出的ASCII字符不同,Why?(50分)

  • 主题发起人 主题发起人 Walone
  • 开始时间 开始时间
W

Walone

Unregistered / Unconfirmed
GUEST, unregistred user!
从ASCII码表上,#170代表是‘非’,但我在Canvas上输出时,
给出的字符居然是#166所对应的。请教大家这是为什么?
 
Windows里面输出的字符与字体有直接关系, 且#170属于不可显示字符之列. 你可以
先通过字符映射表查看一下
 
通过字符映射表查过,其中没有给出ANSI类型的,而Canvas的字体属性我设为
ANSI或是Default, 结果都是一样。如何才能输出扩展ASCII表上对应的字符?
哪种字体中#170才对应‘非’,输出值和标准码对应?
 
根据我的实验,

1、凡是汉字字体都将#170不显示,
因为170已经进入汉字范围,又只有一个字节,
不能组成完整的汉字,因此认为字符无效,不显示。
应该对于所有双字节的字体都是这样的
2、凡是英文字体都将#170解释为a带下划线,
也有少数不带下划线的

总的来说,你要用Windows字体显示制表符是不大可能的。
不过汉字内定义有全角的制表符,
比如区位码0904到0976都是制表符
 
请问如何才能按扩展ASCII表上输出对应的字符?
或者这根本就是不可能的事情?
 
问题还是没解决,但先分了再说吧。
 

Similar threads

回复
0
查看
861
不得闲
回复
0
查看
1K
不得闲
D
回复
0
查看
923
DelphiTeacher的专栏
D
D
回复
0
查看
715
DelphiTeacher的专栏
D
后退
顶部