Почему socket.inet_ntoa возвращает упакованный формат в python - PullRequest
1 голос
/ 20 марта 2010

Почему socket.inet_aton возвращает упакованный формат в python?

Если я храню IP как целое число в базе данных (mysql), нужно ли мне всегда извлекать целочисленное значение или есть более простой выход?

1 Ответ

1 голос
/ 20 марта 2010

inet_aton четко задокументировано для выполнения именно этой задачи, а «почему» даже очень подробно объяснено ...:

Преобразование адреса IPv4 из формат точечно-квадратичной строки (для Например, .4 123.45.67.89 ’) до 32-разрядного упакованный двоичный формат, как строка четыре длина символов Это полезно при разговоре с программой, которая использует стандартную библиотеку C и потребности объекты типа struct in_addr, которые это тип C для 32-битной упаковки двоичная эта функция возвращает.

Чтобы преобразовать 4-байтовую строку в целое число и наоборот, см. Модуль struct .

...