Наборы символов

В Базовой Основе набор символов, как представлено объектом CFCharacterSet, представляет ряд символов Unicode. Функции могут использовать наборы символов для собирания в группу символов для поиска и парсинга операций, так, чтобы они могли найти или исключить любой определенный набор символов во время поиска. Кроме тестирования на членство в наборе символов, объект набора символов просто содержит ряд символьных значений для ограничения операций на строках.

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

Для получения объекта CFCharacterSet, который может быть передан в функцию можно или использовать один из предопределенных наборов символов или создать собственное. Использовать один из предопределенных наборов — включая такие вещи как пробел, алфавитно-цифровые символы и десятичные цифры — вызов CFCharacterSetGetPredefined с одним из CFCharacterSetPredefinedSet константы. Несколько функций CFCharacterSet создают наборы символов из строк и побитово отображенных данных, и другие позволяют Вам создавать непостоянные наборы символов. Можно использовать предопределенный набор символов в качестве начальной точки для создания пользовательского набора путем создания непостоянной копии из него и изменения этого.

Поскольку наборы символов часто участвуют в критическом по отношению к производительности коде, необходимо знать об аспектах их использования, которое может влиять на производительность приложения. Непостоянные наборы символов являются обычно намного более дорогими, чем неизменные наборы символов. Они используют больше памяти и являются дорогостоящими для инвертирования (работа, часто выполняемая в сканировании строки). Из-за этого необходимо следовать этим инструкциям: