将VB6字符转换为C#字符串

Dav*_*ave 1 c# vb6

我想将旧的VB6项目升级到更新的技术,我在下面有这些值,不知道如何翻译它们.

Chr(&H31) & Chr(&H1) & Chr(&H50) & Chr(&H31) & Chr(&H17)
Run Code Online (Sandbox Code Playgroud)

所以我的第一个问题是如何识别这些?它是十六进制值还是其他什么?我似乎没有在ascii表中找到它们.'H'代表什么?

其次,我如何制作ac#string呢?

Ric*_*ard 8

Chr 将字符代码转换为字符,在C#中你可以直接转换:

char c1 = (char)0x31;
Run Code Online (Sandbox Code Playgroud)

(也改为使用C#的十六进制文字而不是VB6.)

但是在构建字符串时,使用转义更容易:

string s1 = "\x31\x01\x50\x31\x16";
Run Code Online (Sandbox Code Playgroud)

  • 请注意,"\ x01"(任何低于`\ x20`)的"特殊"字符表示二进制数据在字符串中不一定是安全的.根据用途,字节数组可能更好. (3认同)