Adds support for encoding and decoding string data. This currently only supports Numpy arrays with the 'S' dtype, which treats strings as null-terminated bytestrings and only supports ASCII. Non-ASCII strings can be encoded using `encode('utf-8') in Python.
This patch does not perform any kind of memory management of strings, i.e., the encoders and decoders allocate memory that is never freed. This will be addressed in a follow on patch that will allow these buffers to be reclaimed.
Adds support for encoding and decoding string data. This currently only supports Numpy arrays with the 'S' dtype, which treats strings as null-terminated bytestrings and only supports ASCII. Non-ASCII strings can be encoded using `encode('utf-8') in Python.
This patch does not perform any kind of memory management of strings, i.e., the encoders and decoders allocate memory that is never freed. This will be addressed in a follow on patch that will allow these buffers to be reclaimed.