【发布时间】:2015-11-26 20:25:37
【问题描述】:
与 c# 相比,vb6.0 中 0 的 ASCII 字符不同。我已将 vb6.0 代码转换为 c#,我需要在端口通信中将十六进制数据作为字符发送。
C# - Comm1.Write('/0').ToString() --> 将 char 作为 /0。
VB6.0 - mscomm.Output(char(0)) ---> 给 '' 空间。
对于 7 c# 类似--> 将 '/a' 作为字符
vb 6.0 --> 给出 .黑点
任何人都可以告诉我为什么会出现这种差异,因为 ASCII 编码是相同的
【问题讨论】:
-
什么是vb6中的char,我以为关键字是vb6中的chr和chrw。 char 是您的 vb6 代码中的自定义函数吗?如果是,请显示该代码。
-
'/0'?一些接近可编译的代码将有助于理解问题。 -
试试
(char)0或(char)a,你不是在比较苹果和苹果。 -
vbNullChar是您应该使用的预定义常量。但是你的 C# sn-p 发送一个“/”,然后是一个“0”,所以这当然是你会得到的结果。正如上面所暗示的,您可能打算在 C# 等高度模糊的语言中使用\0转义的 NUL 字符。
标签: c# vb6 char ascii serial-communication