如何在VB中将大于127的ASCII码转换为字符?

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:08:03
我发现大于127的ASCII码用chr函数转换得的结果居然和chr(0)的结果一样!也就是转得一堆空。那么怎样在VB里将大于127的ASCII码转换为其真正对应的字符?
那为何在VB里运行

If Chr(178) = Chr(0) Then MsgBox "yes" Else MsgBox "No"

所得的结果是Yes?

而运行

If Chr(78) = Chr(0) Then MsgBox "yes" Else MsgBox "No"

所得的结果为No。

答案补充:这样吧,你把Chr都改成ChrW吧,这个函数比较不错。
至于Chr函数的问题,的确如你所述,我无奈,功力不够哈。
========================
你这句话本身就不对。Chr函数没有任何问题。问题在于ASCII是129~254的字符根本显示不出来。所以当然不是所谓“一堆空”,只不过你看不见而已,字符是存在的。不信的话,你查一查ASCII表。你可以试试Chr(128),返回€。这是在[128,254]里唯一能显示的字符。

你的想法无法实现.
以下见MSDN:
字符集 (128 – 255)
128 · 160 [space] 192 à 224 à
129 · 161 ?/FONT> 193 á 225 á
130 · 162 ¢ 194 ?/FONT> 226 a
131 · 163 £ 195 ?/FONT> 227 ?/FONT>
132 · 164 ¤ 196 ?/FONT> 228 ?/FONT>
133 · 165 ¥ 197 ?/FONT> 229 ?/FONT>
134 · 166 | 198 ?/FONT> 230 ?/FONT>
135 · 167 § 199 ?/FONT> 231 ?/FONT>
136 · 168 ¨ 200 è 232 è
137 · 169 © 201 é 233 é
138 · 170 a 202 ê 234 ê
139 · 171 ?/FONT> 203 ?/FONT> 235 ?/FONT>
140 · 172 ?/FONT> 204 ì 236 ì
141 · 173 - 205 í 237 í
142 · 174 ® 206 ?/FONT> 238 ?/FONT>
143 · 175 ˉ 207 ?/FONT> 239 ?/FONT>
144 · 176 ° 208 D 240 e <