Python sys.maxint, sys.maxunicode в Linux и Windows - PullRequest
5 голосов
/ 17 ноября 2011

В 64-разрядной версии Debian Linux 6:

Python 2.6.6 (r266:84292, Dec 26 2010, 22:31:48)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.maxint
9223372036854775807
>>> sys.maxunicode
1114111

В 64-разрядной версии Windows 7:

Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.maxint
2147483647
>>> sys.maxunicode
65535

Обе операционные системы являются 64-разрядными.У них есть sys.maxunicode, согласно википедии В юникоде есть 1114,112 кодовых точек.Является ли sys.maxunicode в Windows неправильным?

И почему у них разные sys.maxint?

Ответы [ 2 ]

4 голосов
/ 17 ноября 2011

Я не знаю, какой у вас вопрос, но sys.maxunicode не является неправильным в Windows.

См. документы :

sys.maxunicode

Целое число, дающее наибольшую поддерживаемую кодовую точку для символа Unicode. Значение этого зависит от параметра конфигурации, который указывает, хранятся ли символы Юникода как UCS-2 или UCS-4.

Python в Windows использует UCS-2, поэтому наибольшая кодовая точка составляет 65 535 (а символы дополнительной плоскости кодируются 2 * 16-битными «суррогатными парами»).

О sys.maxint, это показывает, в какой момент Python 2 переключается с «простых целых чисел» (123) на «длинные целые числа» (12345678987654321L). Очевидно, что Python для Windows использует 32 бита, а Python для Linux использует 64 бита. Начиная с Python 3 это стало неактуальным, потому что простые и длинные целочисленные типы были объединены в один. Следовательно, sys.maxint ушел из Python 3.

1 голос
/ 17 ноября 2011

Относительно разницы sys.maxint, см. Каков размер long в 64-битной Windows? . Python использует тип long для внутреннего хранения маленького целого числа в Python 2.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...