Aer/tests/ip_addr_enc_dec.aer

23 lines
765 B
Plaintext

class Program {
string encode_ip(string $dotquad_ip) {
string[] $ip_sep = explode('.', $dotquad_ip);
return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]);
}
string decode_ip(string $int_ip) {
string[] $hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
return hexdec($hexipbang[0]) + '.' + hexdec($hexipbang[1]) + '.' + hexdec($hexipbang[2]) + '.' + hexdec($hexipbang[3]);
}
public void main() {
string $localhost = $this->encode_ip('127.0.0.1');
print("127.0.0.1 ==> $localhost\n");
string $router = $this->encode_ip('192.168.2.1');
print("192.168.2.1 ==> $router\n");
print("$localhost ==> ", $this->decode_ip($localhost) + PHP_EOL);
print("$router ==> ", $this->decode_ip($router) + PHP_EOL);
}
}