ip_to_bytes: Represent address as raw bytes

View source: R/ip_to_bytes.R

ip_to_bytesR Documentation

Represent address as raw bytes

Description

Encode or decode an ip_address as a list of raw bytes.

Usage

ip_to_bytes(x)

bytes_to_ip(x)

Arguments

x
  • ip_to_bytes(): An ip_address vector

  • bytes_to_ip(): A list of raw vectors or a blob::blob object

Details

The bytes are stored in network order (also known as big-endian order), which is part of the IP standard.

IPv4 addresses use 4 bytes, IPv6 addresses use 16 bytes, and missing values are encoded as NULL.

Value

  • ip_to_bytes(): A list of raw vectors

  • bytes_to_ip(): An ip_address vector

See Also

Use blob::as_blob() to cast result to a blob object

Other address representations: ip_to_binary(), ip_to_hex(), ip_to_integer()

Examples

x <- ip_address(c("192.168.0.1", "2001:db8::8a2e:370:7334", NA))
ip_to_bytes(x)

bytes <- list(
  as.raw(c(0xc0, 0xa8, 0x00, 0x01)),
  as.raw(c(
    0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x8a, 0x2e, 0x03, 0x70, 0x73, 0x34
  )),
  NULL
)
bytes_to_ip(bytes)

ipaddress documentation built on Jan. 12, 2023, 9:06 a.m.