Строка представляет собой конечную последовательность символов, обычно используемых для текста, хотя иногда и для произвольных данных.

Строка представляет собой конечную последовательность символов, обычно используемую для текста, хотя иногда и для произвольных данных.

Большинство языков программирования предоставляют специальный строковый тип данных или более общие средства и соглашения для обработка строк; а также предоставление способа обозначения строковых литералов. На некоторых языках программирования все это строка, например, в Tcl. В основном предоставляется специальная библиотека поддержки различной сложности.

Представления строк широко варьируются в предлагаемых функциях; правый тип строки может легко уменьшить порядок алгоритмов, в то время как неправильный даже не сможет разместить ваши строковые данные вообще.

Ниже перечислены некоторые избранные представители:

Строки с нулевым завершением (а) C-строки, ASCIZ, sz) представляют собой массивы ненулевых элементов, которые заканчиваются специальным нулевым элементом (варианты с использованием другого конечного символа в основном ограничены старыми системами, например, поддерживаются DOS $). Counted String (aka Pascal Strings) - это массивы произвольных байтов с префиксом указателя длины. В настоящее время размер подсчитанных строк ограничен доступным адресным пространством, хотя довольно часто используется один байт для длины (подразумевая максимальную длину 255). Веревки, которые представляют собой списки сегментов (например, длина + указатели в модифицируемые и немодифицируемые буферы), для эффективной вставки и удаления.

Многие (особенно функциональные) языки поддерживают строки как список базовых символов.

Для поддержки Unicode специальная строка типа строк становится общей, так как символы Unicode могут быть произвольной длины, даже в UTF-32. Это позволяет эффективно индексировать символы, нажимая сложности набора символов в тип строки.

В большинстве языков строки можно перебирать, подобно спискам / массивам. На некоторых языках высокого уровня (в которых строки являются типом данных для себя) строки неизменяемы, поэтому строковые операции создают новые строки.

Для текстовых строк используется много кодировок, хотя современное использование сходится в Unicode, используя UTF-8 (некоторые ранние последователи Unicode вместо этого перешли форму UCS2 в UTF-16 как формат персистентности).

Программное обеспечение Windows часто принимает соглашение WinAPI по использованию UTF-16 внутренне, преобразование для внешних данных и персистентности вместо системных вызовов.

A String Literal - это вхождение строковой фразы в исходный код, обычно инкапсулированный в выделенные разделители (например, в C / C ++ и Java - строковый литерал

Полезные ссылки:

Строки с нулевым завершением (иначе, C-строки, ASCIZ, sz) представляют собой массивы ненулевых элементов, которые заканчиваются специальным нулевым элементом (варианты с использованием другого конечного символа в основном ограничены старыми системами, например , DOS поддерживается $). Обработка строк Counted String (так называемые строки Pascal) - это массивы произвольных байтов с префиксом указателя длины. В настоящее время размер подсчитываемых строк ограничен доступным адресным пространством, хотя довольно часто используется один байт для длины (подразумевая максимальную длину 255). Строковые методы в Javascript Веревки, которые являются списками сегментов (например, длина + указатели в модифицируемые и немодифицируемые буферы) для эффективной вставки и удаления.