The goal of this project is to implement a fast UnicodeString
type as a direct replacement for the String
type.
The publicly available implementation of the String
type is super fast for dealing with ASCII characters, but as we know people don't always speak English, or use ASCII characters. The String.chars()
function in Rust does a good job of converting a Vec<u8>
to a Vec<char>
, but it is done in a O(n) time.
This implementation changes this behaviour and makes the operation of getting characters out of a string a O(1) operation, and makes it very similar to the way Strings work in Go Lang.