3 ms·
It's not that complicated. You can add leading zeros into each field, but that's similar to how 192.168.0.1 can be written as 192.168.000.001 (but if you do tha
by Dagger2 7y ago
It's not that complicated. You can add leading zeros into each field, but that's similar to how 192.168.0.1 can be written as 192.168.000.001 (but if you do that in v4, it turns the field into octal! At least in v6 it's just a superfluous 0.). The only real complication is ::, which just means "insert zeros here".
(192.168.0.1 can also be written as 192.168.1, 192.11010049 or 3232235521. Or 192.0xa80001. Or 0xc0.0xa80001. Or 0300.168.1. Or a good number of other ways. That's far worse than anything you can do to a v6 address.)
- astrobe_ 7y ago> but that's similar to how 192.168.0.1 can be written as 192.168.000.001 I would advise you not to do that. Some systems read the numbers with atoi(), which will interpret a leading zero as a prefix for 'octal' like in C.
- rswail 7y agowell that won't make a difference for 0.1 :)
- Dagger2 7y agoYup, I was paying attention to that. Note how adding a leading 0 to 192 made it 0300. And people think this is easier than v6, where adding a 0 to db8 just makes it 0db8...?
- PopeDotNinja 7y agoFor example, in Ruby... irb(main):001:0> require 'ipaddr' => true IPAddr.new("000.000.000.000").ipv4? IPAddr::InvalidAddressError (zero-filled number in IPv4 address is ambiguous: 000.000.000.000)