R: Represent address as raw bytes

ip_to_bytes {ipaddress} | R 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` | For `ip_to_bytes()`: An `ip_address` vector For `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

- For `ip_to_bytes()`: A list of raw vectors

- For `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)

[Package ipaddress version 0.5.2 Index]