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

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

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

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

Следующее является некоторыми отобранными представителями:

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

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

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

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

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

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

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

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