IT门户, 中国互联网人工智能物联网行业资讯平台--公众IT
新闻来源:互联网资料整理       发布时间:2023/4/6 1:45:12       共计:4625 浏览

最近遇到一个小问题,从网络接收到的包中含有MAC地址(ASCII字符格式,例如”74-29-AF-F2-30-D3”,共18个字符),按照约定我需要把它转换成6个字节的二进制数(74 29 AF F2 30 D3)。 
收到的字符串“74-29-AF-F2-30-D3”,是ASCII编码的,内存中就是:37 34 2d 32 39 2d 41 46 2d 46 32 2d 33 30 2d 44 33(共18个字节),现在我要做的就是写一个函数把这个输入转换成6个字节的输出“74 29 AF F2 30 D3”.

思路就是把输入串中的相邻两个字符,变成输出中的一个字节(8bit)的高4bit和低4bit;以前两个字符为例,即把37->7,34->4,组成十六进制的0x74。代码如下(简化后的版本),注意要用到无符号类型,

版权说明:
本网站凡注明“公众IT 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
您可以扫描右侧微信二维码联系我们。
网站首页 关于我们 联系我们 合作联系 会员说明 新闻投稿 隐私协议 网站地图