ACK 消息(十六进制到 ASCII)



我正在尝试确认收到的消息,并希望将其与我的程序发送的代码相匹配。

短信输出采用此格式<<<phonenumber,ASCII,5,436865636b>>>

我想隔离电话号码和 5 之后的消息,并将其转换为 ASCII

我已经有一台 UDP 服务器。

提前谢谢。

解决:

            var ascii = string.Empty;
            for (var i = 0; i < hexString.Length; i += 2)
            {
                var hs = hexString.Substring(i, 2);
                var decval = Convert.ToUInt32(hs, 16);
                var character = Convert.ToChar(decval);
                ascii += character;
            }
            return ascii;

使用 Regex 处理模式文本提取。

var message = @"<<<phonenumber,ASCII,5,436865636b>>>";
var pattern = @"<<<(?<phoneNumber>w+),ASCII,5,(?<value>w+)>>>";
var match = Regex.Match(message, pattern);
var phoneNumber = match.Groups["phoneNumber"].Value;
var value = match.Groups["value"].Value;

相关内容

  • 没有找到相关文章

最新更新