如何在.Net字符串中编写ASCII特殊字符

Jim*_*iel 6 .net string ascii bytearray

假设我想在.Net字符串中使用ASCII特殊字符FS(0x1C),然后能够从同一个字符串格式化字节数组,并将特殊字符正确表示为单个字节,我该怎么做?我似乎无法理解它.

谢谢你提供的所有帮助.

Chr*_*ter 3

它更取决于串行端口数据格式的性质。如果数据主要由 ASCII 文本字符组成,偶尔散布着控制字符,那么您可以将它们嵌入到字符串中,例如

var data1 = Encoding.ASCII.GetBytes("Foo\x1CBar\x1CBaz");
Run Code Online (Sandbox Code Playgroud)

但是,如果数据由不同数据类型的多个字段组成,那么该类BitConverter可能更有用,例如

var data2 = new List<byte>();
// Add an int value
data2.AddRange(BitConverter.GetBytes(6));
// Add a control character
data2.Add(0x1C);
// Add an ASCII-encoded string value
data2.AddRange(Encoding.ASCII.GetBytes("Hello"));
Run Code Online (Sandbox Code Playgroud)

正如其他人指出的那样,ASCII 不是您可以使用的唯一字符串编码,但从串行端口它是最有可能使用的。