首页 > 代码库 > 将四字节hex形式IP转换成点分十进制式
将四字节hex形式IP转换成点分十进制式
1、需求描述
将四字节的hex形式IP如
\x0A\xA8\x01\xB5 转换成 点分十进制形式如
“10.168.1.181”
2、代码实现
//// convert one byte hex to int str// byte_hex: input byte hex// outdata: output converted int data// int_str_len: the length of the int str//void byte_hex2int_str(const u8 byte_hex, u8 *outdata, u8 *int_str_len){ u8 i = 0, m = 0; u8 Adata, Bdata; u8 tmp_res[20] = {0}; Adata = byte_hex; while (1) { Bdata = (Adata % 10); Adata = (Adata / 10); tmp_res[i] = Bdata; i++; if (Adata =http://www.mamicode.com/= 0) { break; } } *int_str_len = i; for (m = 0; m < i; m++) { *(outdata + m) = (tmp_res[i-1-m] + 0x30); }}//// function: convert ip hex to string//void ip_hex2str(u8 *out_ip_buf, const u8 * in_hex_buf){ u8 int_str_len = 0x00; u8 i = 0x00; byte_hex2int_str(in_hex_buf[0], out_ip_buf+i, &int_str_len); i += int_str_len; out_ip_buf[i]=‘.‘; i++; byte_hex2int_str(in_hex_buf[1], out_ip_buf+i, &int_str_len); i += int_str_len; out_ip_buf[i]=‘.‘; i++; byte_hex2int_str(in_hex_buf[2], out_ip_buf+i, &int_str_len); i += int_str_len; out_ip_buf[i]=‘.‘; i++; byte_hex2int_str(in_hex_buf[3], out_ip_buf+i, &int_str_len); }
将四字节hex形式IP转换成点分十进制式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。