【问题标题】:convert a string or byte to a hex decimal in c# [duplicate]在c#中将字符串或字节转换为十六进制十进制[重复]
【发布时间】:2015-09-04 01:37:53
【问题描述】:

我有一个传感器获取请求并给我它的值请求应该是 c# 中的十六进制格式,如图所示:

我在textbox 中输入的请求是这样的:"000100020005030190000212BD"

但正如您所见,十六进制 checkbox 已被选中,它将我的请求转换为 hex 我该怎么做? 这是我发送请求的代码“

 var listener = new TcpListener(IPAddress.Any, 3000);
listener.Start();

using (var client = listener.AcceptTcpClient())
using (var stream = client.GetStream())
{

    // build a request to send to sensor
    var request = new byte[2048];

    stream.Write(request, 0, request.Length);
    // read a response from sensor;
    // note, that respose colud be broken into several parts;
    // you should determine, when reading is complete, according to the protocol for the sensor
    while (true)
    {                    
        // stream.Read calls here
    }
}

数据表:

【问题讨论】:

    标签: c# hex byte listener converter


    【解决方案1】:

    要将字符串转换为十六进制,可以使用

    public string function HexConvert(string InputText)
    {
        StringBuilder sb=new StringBuilder();
        char[] lettercollection = InputText.ToCharArray();
        foreach (char letter in lettercollection)
        {
            int integerValue = Convert.ToInt32(letter); //convert to integer
            string hexCode = String.Format("{0:X}", integerValue); //hex generation
            sb.append(hexCode); 
        }
        return sb.ToString(); //your output
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-31
      • 2017-08-23
      • 2019-07-27
      • 2016-03-26
      • 2022-07-22
      • 2016-03-06
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      相关资源
      最近更新 更多