Objective-C
Нет встроенного, кроме того, что доступно как часть библиотеки строк C.
Однако, как только вы добавите рамки…
Основа (Какао и Touch Cocoa) и Базовая основа
NSString и CFString каждый реализует полностью строковый класс на основе Unicode (фактически несколько классов, как деталь реализации). Эти два типа являются «бесплатными мостами», так что API для одного можно использовать с экземплярами другого, и наоборот.
Для данных, которые не обязательно представляют текст, есть NSData и CFData. NSString предоставляет методы, а CFString предоставляет функции для кодирования текста в данные и декодирования текста из данных. Core Foundation поддерживает более сотни различных кодировок, включая все формы UTF. Кодировки делятся на две группы: встроенные кодировки , которые поддерживаются повсеместно, и внешние кодировки , которые по крайней мере поддерживаются в Mac OS X.
NSString предоставляет методы нормализации для форм D, KD, C или KC. Каждый возвращает новую строку.
И NSString, и CFString предоставляют широкий спектр опций сравнения / сопоставления. Вот Флаги опций сравнения Foundation и Флаги опций сравнения Core Foundation . Они не все являются синонимами; например, Core Foundation по умолчанию делает буквальное (строго на основе кодовой точки) сравнение, тогда как Foundation делает не буквальное сравнение (позволяя символам с акцентами для сравнения равными) по умолчанию.
Обратите внимание, что Core Foundation не требует Objective-C; действительно, он был создан в значительной степени для того, чтобы предоставить большинство возможностей Foundation программистам Carbon, которые использовали прямой C или C ++. Тем не менее, я подозреваю, что наиболее современное использование его в программах Cocoa или Cocoa Touch, которые все написаны на Objective-C или Objective-C ++.