【问题标题】:ASCII character for 0 is differenct in vb6.0 compared to c#与 c# 相比,vb6.0 中 0 的 ASCII 字符不同
【发布时间】: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


【解决方案1】:

VB6 以 ANSI 编码所有内容,这就是您得到问号和意外字符的原因。

【讨论】:

  • 是的,是的,你是对的,所以我使用 Microsoft.VisualBasic.Strings.Chr 在 c# 中进行转换。但是从 0 到 10 十进制值它给了我 c# 和 vb 6.0 之间的差异。 10 之后,他们给了我相同的字符输出。你能给我看一个在 c# 和 vb 6.0 中为 0 小数或 7 小数的类似转换的例子吗?提前致谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
相关资源
最近更新 更多