Fork me on GitHub

Search and Comparison Options&&NSStringEncodingConversionOptions

Search and Comparison Options

These values represent the options available to many of the string classes’ search and comparison methods.

enum {
NSCaseInsensitiveSearch = 1,
NSLiteralSearch = 2,
NSBackwardsSearch = 4,
NSAnchoredSearch = 8,
NSNumericSearch = 64,
NSDiacriticInsensitiveSearch = 128,
NSWidthInsensitiveSearch = 256,
NSForcedOrderingSearch = 512,
NSRegularExpressionSearch = 1024
};
Constants
NSCaseInsensitiveSearch

A case-insensitive search.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSLiteralSearch

Exact character-by-character equivalence.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSBackwardsSearch

Search from end of source string.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSAnchoredSearch

Search is limited to start (or end, if NSBackwardsSearch) of source string.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSNumericSearch

Numbers within strings are compared using numeric value, that is, Name2.txt < Name7.txt <Name25.txt.

This option only applies to compare methods, not find.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSDiacriticInsensitiveSearch

Search ignores diacritic marks.

For example, ‘ö’ is equal to ‘o’.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWidthInsensitiveSearch

Search ignores width differences in characters that have full-width and half-width forms, as occurs in East Asian character sets.

For example, with this option, the full-width Latin small letter 'a' (Unicode code point U+FF41) is equal to the basic Latin small letter 'a' (Unicode code point U+0061).

Available in iOS 2.0 and later.

Declared in NSString.h.

NSForcedOrderingSearch

Comparisons are forced to return either NSOrderedAscending or NSOrderedDescending if the strings are equivalent but not strictly equal.

This option gives stability when sorting. For example, “aaa” is greater than "AAA” ifNSCaseInsensitiveSearch is specified.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSRegularExpressionSearch

The search string is treated as an ICU-compatible regular expression. If set, no other options can apply except NSCaseInsensitiveSearch and NSAnchoredSearch. You can use this option only with therangeOfString:... methods.

Available in iOS 3.2 and later.

Declared in NSString.h.

Discussion

See “Searching, Comparing, and Sorting Strings” for details on the effects of these options.

Declared In
NSString.h

NSStringEncodingConversionOptions

Type for encoding conversion options.

typedef NSUInteger NSStringEncodingConversionOptions;
Discussion

See NSStringEncodingConversionOptions for possible values.

Availability
  • Available in iOS 2.0 and later.
Declared In
NSString.h

Encoding Conversion Options

Options for converting string encodings.

enum {
NSStringEncodingConversionAllowLossy = 1,
NSStringEncodingConversionExternalRepresentation = 2
};
Constants
NSStringEncodingConversionAllowLossy

Allows lossy conversion.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSStringEncodingConversionExternalRepresentation

Specifies an external representation (with a byte-order mark, if necessary, to indicate endianness).

Available in iOS 2.0 and later.

Declared in NSString.h.

Special Considerations

These constants are available in Mac OS X v10.4; they are, however, differently named:

typedef enum {
    NSAllowLossyEncodingConversion = 1,
    NSExternalRepresentationEncodingConversion = 2
} NSStringEncodingConversionOptions;

You can use them on Mac OS X v10.4 if you define the symbols as extern constants.

Declared In
NSString.h

NSString Handling Exception Names

These constants define the names of exceptions raised if NSString cannot represent a string in a given encoding, or parse a string as a property list.

extern NSString *NSParseErrorException;
extern NSString *NSCharacterConversionException;
Constants
NSCharacterConversionException

NSString raises an NSCharacterConversionException if a string cannot be represented in a file-system or string encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSParseErrorException

NSString raises an NSParseErrorException if a string cannot be parsed as a property list.

Available in iOS 2.0 and later.

Declared in NSString.h.

Declared In
NSString.h

NSStringEncoding

Type for string encoding.

typedef NSUInteger NSStringEncoding;
Discussion

See “String Encodings” for possible values.

Availability
  • Available in iOS 2.0 and later.
Declared In
NSString.h

String Encodings

The following constants are provided by NSString as possible string encodings.

enum {
NSASCIIStringEncoding = 1,
NSNEXTSTEPStringEncoding = 2,
NSJapaneseEUCStringEncoding = 3,
NSUTF8StringEncoding = 4,
NSISOLatin1StringEncoding = 5,
NSSymbolStringEncoding = 6,
NSNonLossyASCIIStringEncoding = 7,
NSShiftJISStringEncoding = 8,
NSISOLatin2StringEncoding = 9,
NSUnicodeStringEncoding = 10,
NSWindowsCP1251StringEncoding = 11,
NSWindowsCP1252StringEncoding = 12,
NSWindowsCP1253StringEncoding = 13,
NSWindowsCP1254StringEncoding = 14,
NSWindowsCP1250StringEncoding = 15,
NSISO2022JPStringEncoding = 21,
NSMacOSRomanStringEncoding = 30,
NSUTF16StringEncoding = NSUnicodeStringEncoding,
NSUTF16BigEndianStringEncoding = 0x90000100,
NSUTF16LittleEndianStringEncoding = 0x94000100,
NSUTF32StringEncoding = 0x8c000100,
NSUTF32BigEndianStringEncoding = 0x98000100,
NSUTF32LittleEndianStringEncoding = 0x9c000100,
NSProprietaryStringEncoding = 65536
};
Constants
NSASCIIStringEncoding

Strict 7-bit ASCII encoding within 8-bit chars; ASCII values 0…127 only.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSNEXTSTEPStringEncoding

8-bit ASCII encoding with NEXTSTEP extensions.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSJapaneseEUCStringEncoding

8-bit EUC encoding for Japanese text.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF8StringEncoding

An 8-bit representation of Unicode characters, suitable for transmission or storage by ASCII-based systems.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSISOLatin1StringEncoding

8-bit ISO Latin 1 encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSSymbolStringEncoding

8-bit Adobe Symbol encoding vector.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSNonLossyASCIIStringEncoding

7-bit verbose ASCII to represent all Unicode characters.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSShiftJISStringEncoding

8-bit Shift-JIS encoding for Japanese text.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSISOLatin2StringEncoding

8-bit ISO Latin 2 encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUnicodeStringEncoding

The canonical Unicode encoding for string objects.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWindowsCP1251StringEncoding

Microsoft Windows codepage 1251, encoding Cyrillic characters; equivalent to AdobeStandardCyrillic font encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWindowsCP1252StringEncoding

Microsoft Windows codepage 1252; equivalent to WinLatin1.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWindowsCP1253StringEncoding

Microsoft Windows codepage 1253, encoding Greek characters.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWindowsCP1254StringEncoding

Microsoft Windows codepage 1254, encoding Turkish characters.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSWindowsCP1250StringEncoding

Microsoft Windows codepage 1250; equivalent to WinLatin2.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSISO2022JPStringEncoding

ISO 2022 Japanese encoding for email.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSMacOSRomanStringEncoding

Classic Macintosh Roman encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF16StringEncoding

An alias for NSUnicodeStringEncoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF16BigEndianStringEncoding

NSUTF16StringEncoding encoding with explicit endianness specified.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF16LittleEndianStringEncoding

NSUTF16StringEncoding encoding with explicit endianness specified.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF32StringEncoding

32-bit UTF encoding.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF32BigEndianStringEncoding

NSUTF32StringEncoding encoding with explicit endianness specified.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSUTF32LittleEndianStringEncoding

NSUTF32StringEncoding encoding with explicit endianness specified.

Available in iOS 2.0 and later.

Declared in NSString.h.

NSProprietaryStringEncoding

 

Installation-specific encoding. (Deprecated. This encoding has been deprecated—there is no replacement.)

Proprietary encodings have not been used since Mac OS X v10.0. You should specify a standard encoding instead.

Available in iOS 5.0 and later.

Declared in NSString.h.

Discussion

These values represent the various character encodings supported by the NSString classes. This is an incomplete list. Additional encodings are defined in String Programming Guide for Core Foundation (seeCFStringEncodingExt.h); these encodings can be used with NSString by first passing the Core Foundation encoding to the CFStringConvertEncodingToNSStringEncoding function.

String Enumeration Options

Constants to specify kinds of substrings and styles of enumeration.

typedef NSUInteger NSStringEnumerationOptions;
enum {
NSStringEnumerationByLines = 0,
NSStringEnumerationByParagraphs = 1,
NSStringEnumerationByComposedCharacterSequences = 2,
NSStringEnumerationByWords = 3,
NSStringEnumerationBySentences = 4,
NSStringEnumerationReverse = 1UL << 8,
NSStringEnumerationSubstringNotRequired = 1UL << 9,
NSStringEnumerationLocalized = 1UL << 10
};
Constants
NSStringEnumerationByLines

Enumerates by lines. Equivalent to lineRangeForRange:.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationByParagraphs

Enumerates by paragraphs. Equivalent to paragraphRangeForRange:.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationByComposedCharacterSequences

Enumerates by composed character sequences. Equivalent torangeOfComposedCharacterSequencesForRange:.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationByWords

Enumerates by words.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationBySentences

Enumerates by sentences.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationReverse

Causes enumeration to occur from the end of the specified range to the start.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationSubstringNotRequired

A way to indicate that the block does not need substring, in which case nil will be passed. This is simply a performance shortcut.

Available in iOS 4.0 and later.

Declared in NSString.h.

NSStringEnumerationLocalized

Causes the enumeration to occur using user's default locale. This does not make a difference in line, paragraph, or composed character sequence enumeration, but it may for words or sentences.

Available in iOS 4.0 and later.

Declared in NSString.h.

Discussion

These options are used with the enumerateSubstringsInRange:options:usingBlock: method. Pass in one NSStringEnumerationBy... option and combine with any of the remaining enumeration style constants using the C bitwise OR operator.

posted on 2012-02-28 12:57  pengyingh  阅读(899)  评论(0编辑  收藏  举报

导航