On this page:
Mapping of Slice Built-In Types to Python Types
The Slice built-in types are mapped to Python types as shown in this table:
Slice | Python |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Although Python supports arbitrary precision in its integer types, the Ice run time validates integer values to ensure they have valid ranges for their declared Slice types.
String Mapping in Python 2
String values returned as the result of a Slice operation (including return values, out parameters, and data members) are always represented as instances of Python's 8-bit string
type. These string values contain UTF-8 encoded strings unless the program has installed a string converter, in which case string values use the converter's native encoding instead.
Legal string input values for a remote Slice operation are shown below:
None
Ice marshals an empty string wheneverNone
is encountered.
- 8-bit string objects
Ice assumes that all 8-bit string objects contain valid UTF-8 encoded strings unless the program has installed a string converter, in which case Ice assumes that 8-bit string objects use the native encoding expected by the converter.
- Unicode objects
Ice converts a Unicode object into UTF-8 and marshals it directly. If a string converter is installed, it is not invoked for Unicode objects.
String Mapping in Python 3
String values returned as the result of a Slice operation (including return values, out parameters, and data members) are always represented as instances of Python's Unicode-based str
type. These string values contain UTF-8 encoded strings. The string converter facility is not used in Python 3.
Legal string input values for a remote Slice operation are shown below:
None
Ice marshals an empty string wheneverNone
is encountered.
- String objects
Ice converts strings to UTF-8 (if necessary) prior to marshaling.