新手,求指导,下面用C#编的代码我不想用ascii码,直接想用16进制表示,该怎么改。 5C

private void button_Send_Click(object sender, EventArgs e)
{
textBox4.Text = sendcommand(tcpClient, textBox3.Text);
}
private string sendcommand(TcpClient client ,String message)
{

        try
        {

            // Translate the passed message into ASCII and store it as a Byte array.
            Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
            // Get a client stream for reading and writing.
            //  Stream stream = client.GetStream();

            NetworkStream stream = client.GetStream();

            // Send the message to the connected TcpServer. 
            stream.Write(data, 0, data.Length);

            Console.WriteLine("Sent: {0}", message);

            // Receive the TcpServer.response.

            // Buffer to store the response bytes.
            data = new Byte[256];

            // String to store the response ASCII representation.
            String responseData = String.Empty;

            // Read the first batch of the TcpServer response bytes.
            Int32 bytes = stream.Read(data, 0, data.Length);
            responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
            return responseData;
            //Console.WriteLine("Received: {0}", responseData);

            // Close everything.
            stream.Close();

        }
        catch (ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException: {0}", e);
            return "";
        }
        catch (SocketException e)
        {
            Console.WriteLine("SocketException: {0}", e);
        }

        //Console.WriteLine("\n Press Enter to continue...");
        return "";
        //Console.Read();
    }

    private void textBox_Port_TextChanged(object sender, EventArgs e)
    {

    }


}

}

3个回答

responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
->
responseData = string.Join(" ", data.Select(x => x.ToString("X2")));

qq_31096909
qq_31096909 回复caozhy: 这个是返回的数据,我发送的数据也要16进制的!
4 年多之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复qq_31096909: 你不是要16进制么
4 年多之前 回复
qq_31096909
qq_31096909 回复qq_31096909: 这里不需要改么?
4 年多之前 回复
qq_31096909
qq_31096909 Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);
4 年多之前 回复

ASCII和十六进制有什么区别吗?难道你的ASCII码表不是十六进制的吗?

qq_31096909
qq_31096909 有区别的!
4 年多之前 回复

不用改

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐