本文简要介绍rust语言中 std::net::Ipv6Addr.to_ipv4
的用法。
用法
pub const fn to_ipv4(&self) -> Option<Ipv4Addr>
将此地址转换为std::net::Ipv4Addr如果它是IPv4兼容地址定义在IETF RFC 4291 第 2.5.5.1 节,或一个IPv4 映射地址定义在IETF RFC 4291 第 2.5.5.2 节,否则返回None
.
::a.b.c.d
和::ffff:a.b.c.d
变得a.b.c.d
所有地址不是以全零开头或::ffff
将返回None
.
例子
use std::net::{Ipv4Addr, Ipv6Addr};
assert_eq!(Ipv6Addr::new(0xff00, 0, 0, 0, 0, 0, 0, 0).to_ipv4(), None);
assert_eq!(Ipv6Addr::new(0, 0, 0, 0, 0, 0xffff, 0xc00a, 0x2ff).to_ipv4(),
Some(Ipv4Addr::new(192, 10, 2, 255)));
assert_eq!(Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1).to_ipv4(),
Some(Ipv4Addr::new(0, 0, 0, 1)));
相关用法
- Rust Ipv6Addr.to_ipv4_mapped用法及代码示例
- Rust Ipv6Addr.to_canonical用法及代码示例
- Rust Ipv6Addr.is_multicast用法及代码示例
- Rust Ipv6Addr.is_documentation用法及代码示例
- Rust Ipv6Addr.is_unspecified用法及代码示例
- Rust Ipv6Addr.octets用法及代码示例
- Rust Ipv6Addr.multicast_scope用法及代码示例
- Rust Ipv6Addr.is_unicast_link_local用法及代码示例
- Rust Ipv6Addr.is_unique_local用法及代码示例
- Rust Ipv6Addr.is_benchmarking用法及代码示例
- Rust Ipv6Addr.is_loopback用法及代码示例
- Rust Ipv6Addr.new用法及代码示例
- Rust Ipv6Addr.is_unicast_global用法及代码示例
- Rust Ipv6Addr.is_global用法及代码示例
- Rust Ipv6Addr.is_unicast用法及代码示例
- Rust Ipv6Addr.segments用法及代码示例
- Rust Ipv6Addr用法及代码示例
- Rust Ipv6MulticastScope用法及代码示例
- Rust Ipv4Addr.is_global用法及代码示例
- Rust Ipv4Addr.new用法及代码示例
- Rust Ipv4Addr.is_link_local用法及代码示例
- Rust Ipv4Addr.is_loopback用法及代码示例
- Rust Ipv4Addr.is_private用法及代码示例
- Rust Ipv4Addr用法及代码示例
- Rust Ipv4Addr.to_ipv6_compatible用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::net::Ipv6Addr.to_ipv4。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。