ACK 消息(十六进制到 ASCII)
本文关键字:ASCII 十六进制 消息 ACK | 更新日期: 2023-09-27 17:56:11
我正在尝试确认收到的消息,并希望将其与我的程序发送的代码相匹配。
短信输出采用此格式<<<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;