C# 需要帮助在C中将字符串写入十六进制吗#

C# 需要帮助在C中将字符串写入十六进制吗#,c#,hex,C#,Hex,我试图将其写入一个字节数组。我不知道如何处理文本部分 例如: 使用值TEST设置名为的字母数字变量: [0x02][0x00][0x35][0x37][0xFF][0x00]OF=测试[0x00][0x03] 我知道如何在上面的示例中写入给定的十六进制,但是,当我进行OF=测试时,我需要知道如何将其放入字节数组中 byte[] byteData = {0x02, 0x00, 0x35, 0x37, 0xFF, What do I do here?, 0x00, 0x03}; 像这样的事情会对你

我试图将其写入一个字节数组。我不知道如何处理文本部分

例如: 使用值TEST设置名为的字母数字变量:

[0x02][0x00][0x35][0x37][0xFF][0x00]OF=测试[0x00][0x03]

我知道如何在上面的示例中写入给定的十六进制,但是,当我进行OF=测试时,我需要知道如何将其放入字节数组中

byte[] byteData = {0x02, 0x00, 0x35, 0x37, 0xFF, What do I do here?, 0x00, 0x03};

像这样的事情会对你有帮助:

byte[] octets ;
Encoding someEncoding = new UTF8Encoding(false) ;

using( MemoryStream aMemoryStream = new MemoryStream(8192) ) // let's start with 8k
using ( BinaryWriter writer = new BinaryWriter( aMemoryStream , someEncoding ) ) // wrap that puppy in a binary writer
{
  byte[] prefix = { 0x02 , 0x00 , 0x35 , 0x37 , 0xFF , } ;
  byte[] suffix = { 0x00 , 0x03 , } ;

  writer.Write( prefix ) ;
  writer.Write( "OF=TEST" );
  writer.Write( suffix ) ;

  octets = aMemoryStream.ToArray() ;

}

foreach ( byte octet in octets )
{
  Console.WriteLine( "0x{0:X2}" , octet ) ;
}

应该如何编写?无论如何,使用可能会使此任务更容易(编写前缀,根据规则编写“测试”,编写后缀,使用
ms.ToArray()
)。或者,查看
IEnumerable.Concat
可能会有所帮助。确定二进制数据的编码以从文本中获取字节[]。例如,如果它的ASCII使用Encoding.ASCII.GetBytes(…)从字符串中获取一个字节[]。谢谢,这正是我想要的。
byte[] preByteData = {0x02, 0x00, 0x35, 0x37, 0xFF};
byte[] postByteData = {0x00, 0x03};
//using System.Linq;
byte[] byteData = preByteData.Concat(System.Text.Encoding.UTF8.GetBytes("OF=TEST").Concat(postByteData)).ToArray();