Я провожу урок по программному продукту, производимому моей компанией, и обнаруживаю, что студенты часто добавляют лидирующие нули на страницу конфигурации, чтобы программное обеспечение подключалось к нашему оборудованию. Ведущие нули являются проблематичными в нашем программном обеспечении, вот как и почему это происходит.
Я всегда объяснял, что ведущие нули были против "стандартного" мышления, это то, чему меня учили. Когда я отправлял отчет об ошибке по цепочке в свой технический отдел, я не смог найти авторитетный источник для этого (например, "Стандарт"), но нашел интересную и связанную информацию.
Плохие лидирующие нули из-за соглашения или они идут против стандарта?
Это было самое близкое к стандарту, что я не использовал ведущие нули, но это черновой вариант с истекшим сроком действия:
Текстовое представление адресов IPv4 и IPv6
В соответствующем разделе говорится:
3 Syntax and Semantics
3.1 IPv4 Dotted Octet Format
A 32-bit IPv4 address is divided into four octets. Each octet is
represented numerically in decimal, using the minimum possible number
of digits (leading zeroes are not used, except in the case of 0
itself). The four encoded octets are given most-significant first,
separated by period characters.
IPv4address = d8 "." d8 "." d8 "." d8
d8 = DIGIT ; 0-9
/ %x31-39 DIGIT ; 10-99
/ "1" 2DIGIT ; 100-199
/ "2" %x30-34 DIGIT ; 200-249
/ "25" %x30-35 ; 250-255
Я также нашел следующие статьи, обсуждающие это явление:
Ping и FTP разрешают IP-адрес с нулем в качестве ведущего
Начальные нули в IP-адресе могут привести к неправильной маршрутизации
Одинаковы ли IP-адреса с ведущими нулями и без них?
Есть ли документация для пропуска нулей в точечно-десятичной записи адресов IPV4?