Люди говорят о символах, когда можно сжать IP-адрес в необработанные данные.
В принципе, поскольку мы используем только IPv4 (32 бит) или IPv6 (128 бит), это означает, что вам нужно не более 128 бит пространства, или 128/8 = 16 байтов!
Это намного меньше, чем предполагаемые 39 байт (при условии, что кодировка - ascii).
Таким образом, вам придется декодировать и кодировать IP-адрес в/из необработанных данных, что само по себе является тривиальной задачей (я делал это раньше, см. PHP ip2long()
для 32-разрядных IP-адресов) ,
Edit:inet_pton
(и его противоположность, inet_ntop()
) делает то, что вам нужно, и работает с обоими типами адресов. Но будьте осторожны, в Windows это доступно с PHP 5.3.
Его уже покрыты здесь. Проверьте http://stackoverflow.com/questions/1038950/what-is-be-the-most-appro-data-type-for-storing-an-ip-address-in-sql-server – Arnkrishn
Собственно, этот пост не очень полезно. Мы не используем Sql Server, и ответы на этот пост были краткими и точными, именно то, что я искал. –
@ Andriyev, что сообщение относится только к IPv4. –