如何在 C 中将 IPv6 字符串转换为无符号字符数组
How to convert an IPv6 string to unsigned char array in C
我需要在 C 中将 IPv6 字符串转换为无符号字符数组,例如:
IPv6 字符串 "fe80:0000:0000:0000:020f:bbff:feb8:f89e",unsigned char 数组中的预期结果为:
exampleIPv6Addr[16] ={0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x0f, 0xbb, 0xff, 0xfe, 0xb8, 0xf8, 0x9e};
是否有任何库可以使用和实现这个?
inet_pton()
通常用于将 IPv4/6) 地址的文本表示形式转换为二进制:
char *ipv6str = "fe80:0000:0000:0000:020f:bbff:feb8:f89e";
struct in6_addr ipv6data;
inet_pton(AF_INET6, ipv6str, &ipv6data);
现在您可以通过以下方式将其作为字符数组访问:
ipv6data.s6_addr[0-15];
我需要在 C 中将 IPv6 字符串转换为无符号字符数组,例如: IPv6 字符串 "fe80:0000:0000:0000:020f:bbff:feb8:f89e",unsigned char 数组中的预期结果为:
exampleIPv6Addr[16] ={0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x02, 0x0f, 0xbb, 0xff, 0xfe, 0xb8, 0xf8, 0x9e};
是否有任何库可以使用和实现这个?
inet_pton()
通常用于将 IPv4/6) 地址的文本表示形式转换为二进制:
char *ipv6str = "fe80:0000:0000:0000:020f:bbff:feb8:f89e";
struct in6_addr ipv6data;
inet_pton(AF_INET6, ipv6str, &ipv6data);
现在您可以通过以下方式将其作为字符数组访问:
ipv6data.s6_addr[0-15];