我认为我遇到了一些问题,因为我对此术语感到困惑。
我需要在前面包装一个带有垂直制表符(char)11或(char)0x0b的字符串,并在末尾包含一个(char)28或(char)0x1c。
我的一部分困惑是我不明白11和0x0b之间的区别是什么。我相信一个是ascii,一个是十六进制,但我不是正面的。所以基本上我需要做
string response = (char)0x0b + "message" + (char)0x1c;
但这似乎不起作用。
答案 0 :(得分:1)
我的一部分困惑是我不明白11和0x0b之间的区别是什么。
没有区别。这两个代表相同的数学数字11,使用不同的基数表示它(0x0B
的基数为16,11
的基数为10)。
C#为垂直标签提供转义序列 - \v
,因此您可以用'\v'
代替(char)0x0b
。 0x1C
没有转义序列,但您可以使用十六进制转义序列来表达\x1C
。
修改后的代码如下所示:
string response = '\v' + message + 'x1C';
我删除了"message"
周围的双引号,假设它代表了代码在返回响应之前准备的字符串变量。