C# 如何减小特定格式字符串的大小?

C# 如何减小特定格式字符串的大小?,c#,.net,string,hex,byte,C#,.net,String,Hex,Byte,我为我的项目设计了一个2通道的汇编程序。输出为十六进制形式,即15为0F 我正在使用ComPort,要通过应该作为字符串发送的行发送“0F”。 但问题是,我只能在另一端接收1个字节,而sizeOf(“0F”)>1个byte。 在另一端没有解压数据的方法,我需要在我的一端完成所有工作,但我仍然希望在另一端接收“0F”。 我可以这样做吗?如果可以,怎么做 我这样做是为了得到十六进制字符串: String.format("{0:X2}",15); 另外, using System.IO.Ports

我为我的项目设计了一个2通道的汇编程序。输出为十六进制形式,即15为0F

我正在使用ComPort,要通过应该作为字符串发送的行发送“0F”。 但问题是,我只能在另一端接收1个字节,而
sizeOf(“0F”)>1个
byte。
在另一端没有解压数据的方法,我需要在我的一端完成所有工作,但我仍然希望在另一端接收“0F”。
我可以这样做吗?如果可以,怎么做

我这样做是为了得到十六进制字符串:

String.format("{0:X2}",15);

另外,

using System.IO.Ports; 
private SerialPort comPort = new SerialPort(); 
comPort.Write("0F"); 

在接收端,我有一个8位处理器,它有1字节*256个块,即256字节。接收时的“0F”作为2字节接收,不能存储在1字节的单个块中。所以我希望“0F”为1字节。

看起来您需要这样的内容:

    // create buffer
    byte[] buffer = new byte[256];

    // put values you need to send to buffer
    buffer[0] = 0x0f;

    // ... add another bytes if you need...

    // send them
    var comPort = new SerialPort();
    comPort.Write(buffer, 0, 1); // 0 is buffer offset, 1 is number of bytes to write

a) 怎么寄?b) 接收到哪个字节?不确定您的意思。
字符串中的每个
char
本身是两个字节。如果您只能发送一个字节,可能您只需要:
(byte)15
使用System.IO.port;private SerialPort comPort=new SerialPort();复合书写(“0F”);在接收端,我有一个8位处理器,它有1字节*256个块,即256字节。接收时的“0F”作为2字节接收,不能存储在1字节的单个块中。所以我希望“0F”是1字节。如果仍然不清楚,请随时询问,我会澄清…@HenkHolterman plz请参考上面的评论。@JeppeStigNielsen plz请参考上面的评论我使用了您的代码bt唯一的问题是收到的数据是整数形式,即0F作为15接收。
0F==15
。没有问题。0F==15 bt我没有任何机制将其改回十六进制。接收端是纯硬件,它只能在0F而不是15上工作。十六进制不是硬件,它是字符串
15和
0x0F
只是同一字节值的两个符号。它们大约是相同的8位。但是硬件上的编码需要十六进制符号的输入来处理它。