Git Product home page Git Product logo

python-cstring's Introduction

cstring Module

Alternate string representation to the built-in str type.

  • Uses C-string representation internally.
  • Memory is allocated in one continuous buffer 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.

Methods

count(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.count

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

find(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.find

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

index(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.index

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

rfind(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.rfind

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

rindex(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.rindex

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

startswith(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.startswith

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

endswith(substring [,start [,end]])

See: https://docs.python.org/3/library/stdtypes.html#str.endswith

Notes:

  • substring may be a cstring or Python str object.
  • start and end, if provided, are byte indexes.

TODO

  • Write docs (see str type docs)
  • Write docstrings
  • Fill out setup.py
  • Allow initialization from bytes, bytearray, other cstrings, memoryview?, other?
  • Read __cstring__ "dunder" on objects, if available?
  • 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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.