Alternate string representation to the built-in str
type.
- Uses C-string representation internally.
- Memory is allocated contiguously to reduce pointer-hopping.
- UTF-8 encoding.
len
returns size in bytes (not including terminating zero-byte).- Random access (to bytes, not Unicode code points) is supported with indices and slices.
- Supports initialization from
str
,bytes
,bytearray
,array
,memoryview
,cstring
, and other buffer protocol objects.
See: https://docs.python.org/3/library/stdtypes.html#str.count
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.find
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.index
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.rfind
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.rindex
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.startswith
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
See: https://docs.python.org/3/library/stdtypes.html#str.endswith
Notes:
substring
may be acstring
or Pythonstr
object.start
andend
, if provided, are byte indexes.
- Write docs (see
str
type docs) - Write docstrings
- Fill out setup.py classifiers
- Implement iter (iterate over Unicode code points, "runes")
- Implement str methods
- Include start/end indexes as byte indexes? Calculate code points? Or just don't support?
- Implement buffer interface
- Decide subclassing protocol