Byte objects can be built using
To create a Unicode string and s is known to point to data encoded as UTF-8, the below code can be used as —
If s is encoded in what -other known encoding, a string using
PyUnicode_Decode() can be done as:
If a wide string should be represented as
wchar_t * , len pair. Then there are several options as shown below —
- Data from C must be explicitly decoded into a string according to some codec
- Common encodings include ASCII, Latin-1 and UTF-8.
- If your encoding is unknown, it is better to encode the string in bytes instead.
- Python always copies string data (assuming) when creating an object.
- Also, to be more robust, strings should be constructed using both pointer and size rather than relying on null-terminated data.