Здравствуйте, 3V, Вы писали:
3V>С UTF-8 как сделать str.mid(10, 20) ?
3V>Только сканирование с самого начала. Т.е. это O(n).
Если вы оперируете столь большими строками то можете позволить хранить и индексы для ускорения подобных операций.
Посмотрите на текстовые редакторы. Они не оперируют строкой.
3V>На всяких там utf-16, utf-32 (char16_t, char32_t) за O(1).
3V>Строки должны работать быстро.
3V>char16_t wcs[] = u"zß水🍌"; // !!!
unicode собака странная некоторые символы не символы, а модификаторы.
3V>Обычно utf-8 — это для хранения извне + передачи данных.
не для хранения и передачи есть zlib
3V>Архивировать, да. Но это если куда-то вовне выгружать.
3V>Но сейчас ведь памяти много. Еще бы на строках экономить.
Памяти то много и она
медленная
так что
сжимать объекты уже пытались