О строках

Одна из самых сложных задач разработки программного обеспечения для глобального рынка - то, что изложенный текстом — или, в программировании условий, «строк», который обозначает символы языка в форме, подходящей для компьютеризированного представления. Большая часть трудности со строками является исторической; за эти годы (так как компьютеры были вокруг), различные схемы кодирования были разработаны для представления строк в одном сценарии или другом. Некоторые кодировки предназначаются для языка или языковой семьи (Shift-JIS, например), в то время как другие являются определенными для определенной компьютерной системы (Windows Latin 1, например). Быстрое увеличение кодировок усложняет трудности межплатформенной совместимости и интернационализации.

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

Строковые объекты реализованы CFString непрозрачный тип. A CFString «объект» представляет строку как массив символов Unicode; его только другое свойство кроме этого массива является целым числом, указывающим число символов. Это достаточно гибко для содержания ценности на несколько мегабайтов символов. Все же это просто и достаточно основной принцип для использования во всех интерфейсах программирования, передающих символьные данные. В Базовой Основе строковые операции имеют место с показателями производительности, не очень отличающимися от стандартных струн до. CFString объекты прибывают в неизменные и непостоянные варианты.

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

Строковые объекты также включают CFCharacterSet непрозрачный тип. Интерфейсы программирования могут использовать CFCharacterSet объекты указать символы, чтобы включать или исключить в парсинге, сравнении или поисковых операциях.

CFString объекты являются основным принципом, в котором они представляют строки, но они не переносят дисплея или дополнительной информации, такой как стили текста, атрибуты форматирования или языковые теги. Если Вы хотите эту функциональность, используйте приписанную строку (см. Ссылку CFAttributedString). Кроме того, a CFString объект не может использоваться для содержания случайных байтов, потому что он присоединяет семантическое значение к своему содержанию (интерпретирующий его как символы Unicode или даже символы в других кодировках). При необходимости в Базовом объекте Основы содержать несимвольные данные используйте основанное на объектах на CFData непрозрачный тип (см. Ссылку CFData).

Строковые объекты обеспечивают функции, выполняющие множество операций с CFString объекты, такой как

CFString и другие Базовые объекты Основы не обеспечивают более усовершенствованные обрабатывающие строку утилиты, такие как получение, текстовое расположение, обработка шрифта, и сложный поиск и функциональность сравнения. Более высокие программные слои предоставляют эти услуги. Тем не менее, эти более высокие уровни передают строковое использование данных CFString объекты или их “бесплатное соединенное мостом” эквивалентное Какао, NSString.