VB里关于ASCII扩展字符的问题
129到255代码对应的字符为西文的扩展字符,以下代码:
Dim Btemp(3) As Byte
Dim Strtemp As String
Btemp(0) = 99
Btemp(1) = 27
Btemp(2) = 177
Btemp(3) = 178
Strtemp = StrConv(Btemp, vbUnicode)
在打印机的检测模式下,对Strtemp进行十六进制检测,结果为:63 1B B1 B2
显然,结果说明VB没有对Btemp数值进行更改.结果是正确的.
而以下代码:
Dim Btemp(3) As Byte
Dim Strtemp As String
Btemp(0) = 99
Btemp(1) = 27
Btemp(2) = 177
Btemp(3) = 38
Strtemp = StrConv(Btemp, vbUnicode)
测试出来的结果却是:63 1B 3F,如果VB没有做小动作,那么正确的结果是:63 1B B1 26
经过反复测试发现,如果大于129的字节后面,跟的不是同样大于129的字节的话,VB会对数值进行转换....
也就是说,打印机会接收到错误的代码,打印出错误的字符.
请问该怎么做,才能让VB不要这么"多此一举"呢?