qq_31096909
qq_31096909
采纳率0%
2015-11-30 00:47

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

5

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条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前

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

    点赞 1 评论 复制链接分享
  • wunaidepao wunaidepao 6年前

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

    点赞 评论 复制链接分享
  • enpterexpress 把分全给哥 6年前

    不用改

    点赞 评论 复制链接分享

相关推荐