string учебник
Начало работы со строкой
Поиск…
замечания
В этом разделе приведен обзор того, что такое строка, и почему разработчик может захотеть ее использовать.
Следует также упомянуть о каких-либо крупных предметах в строке, а также ссылку на связанные темы. Поскольку новая документация для строки является новой, вам может потребоваться создать начальные версии этих связанных тем.
Версии
| Версия | замечание | Дата выхода |
|---|---|---|
| ASCII String | 7 бит | 1963-06-17 |
| UTF-8, | 8 бит по умолчанию, переменная длина через суррогаты | 1992-09-30 |
| UCS-2 | 16 бит, как UTF-16 без суррогатов, использовал мой Microsoft Windows NT | 1993-07-23 |
| UTF-16 | 16 бит по умолчанию, переменная длина через суррогаты | 1996-07-31 |
Струны
Строка представляет собой последовательность символов. На сегодняшний день строки поддерживаются всеми современными языками программирования 1, но нет консенсуса между разработчиками языка о том, как следует классифицировать строки. Что касается дизайна языка программирования, то необходимо учитывать две основные проблемы.
- Должна ли строка обрабатываться как примитивное или составное значение?
- Какие строковые операции должны предоставляться самим языком? 2
Путем создания строки примитивного значения строковые операции, предоставляемые языком, являются встроенными; и не может быть определена в самом языке. Это позволяет определенные оптимизации на уровне компилятора - особенно в отношении макета памяти и повторного использования строк с использованием так называемого пула строк. Компромисс заключается в том, что вы не можете использовать замену для строковых операций, и такие функции нужно будет вызывать с помощью обычных вызовов функций, тогда как синтаксис для использования встроенных операций обычно отличается. Следствием этого является то, что если и когда будут найдены более эффективные алгоритмы, нельзя просто изменить, какую библиотеку строк использовать. Был разработан надуманный пример, имеющий поиск подстроки как часть набора основных функций перед алгоритмом строкового поиска Boyer-Moore.
И наоборот, определяя строку как составное значение, такое как массив символов, все обычные операции с массивами становятся автоматически применимыми к строкам. Однако это приводит к тому, что все строки в языке являются фиксированными. 3
В конечном счете, другой подход представляет строки как список символов, которые - как и массивы - позволяют представлению наследовать все операции списка.
1 Сохраните более эзотерические, такие как Piet
2 Языки обычно предлагают сравнение строк, прежде всего равенство, объединение строк с другими строками, замену одиночных символов и подстрок и лексическую сортировку строк. 3 Обычно