如何获取hex 02的STX字符

我有一个设备,我试图通过套接字连接,根据手册,我需要“hex02的STX字符”。

我怎么能用C#做到这一点?

您可以使用Unicode字符转义符: \u0002

只是评论GeoffM的答案(我没有足够的观点来评论正确的方式)。

你不应该只使用两位数来嵌入STX(或其他字符)。

如果下一个字符(在“\ x02”之后)是一个有效的hex数字,那么它也会被解析,这将是一个烂摊子。

 string s1 = "\x02End"; string s2 = "\x02" + "End"; string s3 = "\x0002End"; 

这里,s1等于“.nd”,因为2E是点字符,而s2和s3等于STX +“End”。

Integer值2转换为char

 char cChar = (char)2; 

\x02是STX代码,你可以检查ASCII表

 checkFinal = checkFinal.Replace("\x02", "End").ToString().Trim(); 

在一个字符串中,显然Unicode格式是最好的 ,但是作为一个字节使用,这种方法有效:

 byte chrSTX = 0x02; // Start of Text byte chrETX = 0x03; // End of Text // etc... 

您可以将STX嵌入到字符串中,如下所示:

 byte[] myBytes = System.Text.Encoding.ASCII.GetBytes("\x02Hello, world!"); socket.Send(myBytes);