ObjFW
|
A class for handling strings. More...
#import <OFString.h>
Public Member Functions | |
(id) | - initWithUTF8String: |
Initializes an already allocated OFString from a UTF-8 encoded C string. | |
(id) | - initWithUTF8String:length: |
Initializes an already allocated OFString from a UTF-8 encoded C string with the specified length. | |
(id) | - initWithCString:encoding: |
Initializes an already allocated OFString from a C string with the specified encoding. | |
(id) | - initWithCString:encoding:length: |
Initializes an already allocated OFString from a C string with the specified encoding and length. | |
(id) | - initWithString: |
Initializes an already allocated OFString with another string. | |
(id) | - initWithUnicodeString: |
Initializes an already allocated OFString with a unicode string. | |
(id) | - initWithUnicodeString:byteOrder: |
Initializes an already allocated OFString with a unicode string, assuming the specified byte order if no BOM is found. | |
(id) | - initWithUnicodeString:length: |
Initializes an already allocated OFString with a unicode string with the specified length. | |
(id) | - initWithUnicodeString:byteOrder:length: |
Initializes an already allocated OFString with a unicode string with the specified length, assuming the specified byte order if no BOM is found. | |
(id) | - initWithUTF16String: |
Initializes an already allocated OFString with a UTF-16 string. | |
(id) | - initWithUTF16String:byteOrder: |
Initializes an already allocated OFString with a UTF-16 string, assuming the specified byte order if no BOM is found. | |
(id) | - initWithUTF16String:length: |
Initializes an already allocated OFString with a UTF-16 string with the specified length. | |
(id) | - initWithUTF16String:byteOrder:length: |
Initializes an already allocated OFString with a UTF-16 string with the specified length, assuming the specified byte order if no BOM is found. | |
(id) | - initWithFormat: |
Initializes an already allocated OFString with a format string. | |
(id) | - initWithFormat:arguments: |
Initializes an already allocated OFString with a format string. | |
(id) | - initWithPath: |
Initializes an already allocated OFString with the constructed specified path. | |
(id) | - initWithPath:arguments: |
Initializes an already allocated OFString with the constructed specified path. | |
(id) | - initWithContentsOfFile: |
Initializes an already allocated OFString with the contents of the specified file in the specified encoding. | |
(id) | - initWithContentsOfFile:encoding: |
Initializes an already allocated OFString with the contents of the specified file in the specified encoding. | |
(id) | - initWithContentsOfURL: |
Initializes an already allocated OFString with the contents of the specified URL. | |
(id) | - initWithContentsOfURL:encoding: |
Initializes an already allocated OFString with the contents of the specified URL in the specified encoding. | |
(const char *) | - UTF8String |
Returns the OFString as a UTF-8 encoded C string. | |
(const char *) | - cStringWithEncoding: |
Returns the OFString as a C string in the specified encoding. | |
(size_t) | - length |
Returns the length of the string in Unicode characters. | |
(size_t) | - UTF8StringLength |
Returns the number of bytes the string needs in UTF-8 encoding. | |
(size_t) | - cStringLengthWithEncoding: |
Returns the number of bytes the string needs in the specified encoding. | |
(of_comparison_result_t) | - caseInsensitiveCompare: |
Compares the OFString to another OFString without caring about the case. | |
(of_unichar_t) | - characterAtIndex: |
Returns the Unicode character at the specified index. | |
(void) | - getCharacters:inRange: |
Copies the Unicode characters in the specified range to the specified buffer. | |
(size_t) | - indexOfFirstOccurrenceOfString: |
Returns the index of the first occurrence of the string. | |
(size_t) | - indexOfLastOccurrenceOfString: |
Returns the index of the last occurrence of the string. | |
(BOOL) | - containsString: |
Returns whether the string contains the specified string. | |
(OFString *) | - substringWithRange: |
Creates a substring with the specified range. | |
(OFString *) | - stringByAppendingString: |
Creates a new string by appending another string. | |
(OFString *) | - stringByPrependingString: |
Creates a new string by prepending another string. | |
(OFString *) | - stringByReplacingOccurrencesOfString:withString: |
Creates a new string by replacing the occurrences of the specified string with the specified replacement. | |
(OFString *) | - stringByReplacingOccurrencesOfString:withString:inRange: |
Creates a new string by replacing the occurrences of the specified string in the specified range with the specified replacement. | |
(OFString *) | - uppercaseString |
Returns the string in uppercase. | |
(OFString *) | - lowercaseString |
Returns the string in lowercase. | |
(OFString *) | - stringByDeletingLeadingWhitespaces |
Creates a new string by deleting leading whitespaces. | |
(OFString *) | - stringByDeletingTrailingWhitespaces |
Creates a new string by deleting trailing whitespaces. | |
(OFString *) | - stringByDeletingEnclosingWhitespaces |
Creates a new string by deleting leading and trailing whitespaces. | |
(BOOL) | - hasPrefix: |
Checks whether the string has the specified prefix. | |
(BOOL) | - hasSuffix: |
Checks whether the string has the specified suffix. | |
(OFArray *) | - componentsSeparatedByString: |
Splits an OFString into an OFArray of OFStrings. | |
(OFArray *) | - pathComponents |
Returns the components of the path. | |
(OFString *) | - lastPathComponent |
Returns the last component of the path. | |
(OFString *) | - stringByDeletingLastPathComponent |
Returns the directory name of the path. | |
(intmax_t) | - decimalValue |
Returns the decimal value of the string as an intmax_t. | |
(uintmax_t) | - hexadecimalValue |
Returns the hexadecimal value of the string as an uintmax_t. | |
(float) | - floatValue |
Returns the float value of the string as a float. | |
(double) | - doubleValue |
Returns the double value of the string as a double. | |
(const of_unichar_t *) | - unicodeString |
Returns the string as an array of Unicode characters. | |
(const uint16_t *) | - UTF16String |
Returns the string in big endian UTF-16 encoding. | |
(void) | - writeToFile: |
Writes the string into the specified file using UTF-8 encoding. | |
(void) | - enumerateLinesUsingBlock: |
block The block to call for each line | |
(OFString *) | - MD5Hash |
Returns the MD5 hash of the string as an autoreleased OFString. | |
(OFString *) | - SHA1Hash |
Returns the SHA1 hash of the string as an autoreleased OFString. | |
(id) | - JSONValue |
Creates an object from the JSON value of the string. | |
(id) | - objectByDeserializing |
Deserializes the receiver into an object. | |
(OFString *) | - stringByURLEncoding |
Encodes a string for use in a URL. | |
(OFString *) | - stringByURLDecoding |
Decodes a string used in a URL. | |
(OFString *) | - stringByXMLEscaping |
Escapes a string for use in an XML document. | |
(OFString *) | - stringByXMLUnescaping |
Unescapes XML in the string. | |
(OFString *) | - stringByXMLUnescapingWithDelegate: |
Unescapes XML in the string and uses the specified delegate for unknown entities. | |
(OFString *) | - stringByXMLUnescapingWithBlock: |
Unescapes XML in the string and uses the specified block for unknown entities. | |
Static Public Member Functions | |
(id) | + string |
Creates a new OFString. | |
(id) | + stringWithUTF8String: |
Creates a new OFString from a UTF-8 encoded C string. | |
(id) | + stringWithUTF8String:length: |
Creates a new OFString from a UTF-8 encoded C string with the specified length. | |
(id) | + stringWithCString:encoding: |
Creates a new OFString from a C string with the specified encoding. | |
(id) | + stringWithCString:encoding:length: |
Creates a new OFString from a C string with the specified encoding and length. | |
(id) | + stringWithString: |
Creates a new OFString from another string. | |
(id) | + stringWithUnicodeString: |
Creates a new OFString from a unicode string. | |
(id) | + stringWithUnicodeString:byteOrder: |
Creates a new OFString from a unicode string, assuming the specified byte order if no BOM is found. | |
(id) | + stringWithUnicodeString:length: |
Creates a new OFString from a unicode string with the specified length. | |
(id) | + stringWithUnicodeString:byteOrder:length: |
Creates a new OFString from a unicode string with the specified length, assuming the specified byte order if no BOM is found. | |
(id) | + stringWithUTF16String: |
Creates a new OFString from a UTF-16 encoded string. | |
(id) | + stringWithUTF16String:byteOrder: |
Creates a new OFString from a UTF-16 encoded string, assuming the specified byte order if no BOM is found. | |
(id) | + stringWithUTF16String:length: |
Creates a new OFString from a UTF-16 encoded string with the specified length. | |
(id) | + stringWithUTF16String:byteOrder:length: |
Creates a new OFString from a UTF-16 encoded string with the specified length, assuming the specified byte order if no BOM is found. | |
(id) | + stringWithFormat: |
Creates a new OFString from a format string. | |
(id) | + stringWithPath: |
Creates a new OFString containing the constructed specified path. | |
(id) | + stringWithContentsOfFile: |
Creates a new OFString with the contents of the specified UTF-8 encoded file. | |
(id) | + stringWithContentsOfFile:encoding: |
Creates a new OFString with the contents of the specified file in the specified encoding. | |
(id) | + stringWithContentsOfURL: |
Creates a new OFString with the contents of the specified URL. | |
(id) | + stringWithContentsOfURL:encoding: |
Creates a new OFString with the contents of the specified URL in the specified encoding. |
A class for handling strings.
Warning: If you add methods to OFString using a category, you are not allowed to access the ivars directly, as these might be still uninitialized for a constant string and get initialized on the first message! Therefore, you should use the corresponding methods to get the ivars, which ensures the constant string is initialized.
- (of_comparison_result_t) caseInsensitiveCompare: | (OFString*) | otherString |
- (of_unichar_t) characterAtIndex: | (size_t) | index |
Returns the Unicode character at the specified index.
index | The index of the Unicode character to return |
- (BOOL) containsString: | (OFString*) | string |
Returns whether the string contains the specified string.
string | The string to search |
- (size_t) cStringLengthWithEncoding: | (of_string_encoding_t) | encoding |
Returns the number of bytes the string needs in the specified encoding.
encoding | The encoding for the string |
- (const char *) cStringWithEncoding: | (of_string_encoding_t) | encoding |
Returns the OFString as a C string in the specified encoding.
The result is valid until the autorelease pool is released. If you want to use the result outside the scope of the current autorelease pool, you have to copy it.
encoding | The encoding for the C string |
- (intmax_t) decimalValue |
Returns the decimal value of the string as an intmax_t.
Leading and trailing whitespaces are ignored.
If the string contains any non-number characters, an OFInvalidEncodingException is thrown.
If the number is too big to fit into an intmax_t, an OFOutOfRangeException is thrown.
- (double) doubleValue |
Returns the double value of the string as a double.
If the string contains any non-number characters, an OFInvalidEncodingException is thrown.
- (void) enumerateLinesUsingBlock: | (of_string_line_enumeration_block_t) | block |
block The block to call for each line
Enumerates all lines in the receiver using the specified block.
- (float) floatValue |
Returns the float value of the string as a float.
If the string contains any non-number characters, an OFInvalidEncodingException is thrown.
- (void) getCharacters: | (of_unichar_t*) | buffer | |
inRange: | (of_range_t) | range | |
Copies the Unicode characters in the specified range to the specified buffer.
buffer | The buffer to store the Unicode characters |
range | The range of the Unicode characters to copy |
- (BOOL) hasPrefix: | (OFString*) | prefix |
Checks whether the string has the specified prefix.
prefix | The prefix to check for |
- (BOOL) hasSuffix: | (OFString*) | suffix |
Checks whether the string has the specified suffix.
suffix | The suffix to check for |
- (uintmax_t) hexadecimalValue |
Returns the hexadecimal value of the string as an uintmax_t.
Leading and trailing whitespaces are ignored.
If the string contains any non-number characters, an OFInvalidEncodingException is thrown.
If the number is too big to fit into an uintmax_t, an OFOutOfRangeException is thrown.
- (size_t) indexOfFirstOccurrenceOfString: | (OFString*) | string |
Returns the index of the first occurrence of the string.
string | The string to search |
- (size_t) indexOfLastOccurrenceOfString: | (OFString*) | string |
Returns the index of the last occurrence of the string.
string | The string to search |
- (id) initWithContentsOfFile: | (OFString*) | path |
- (id) initWithContentsOfFile: | (OFString*) | path | |
encoding: | (of_string_encoding_t) | encoding | |
- (id) initWithContentsOfURL: | (OFURL*) | URL |
Initializes an already allocated OFString with the contents of the specified URL.
If the URL's scheme is file, it tries UTF-8 encoding.
If the URL's scheme is http(s), it tries to detect the encoding from the HTTP headers. If it could not detect the encoding using the HTTP headers, it tries UTF-8.
URL | The URL to the contents for the string |
- (id) initWithContentsOfURL: | (OFURL*) | URL | |
encoding: | (of_string_encoding_t) | encoding | |
- (id) initWithCString: | (const char*) | cString | |
encoding: | (of_string_encoding_t) | encoding | |
- (id) initWithCString: | (const char*) | cString | |
encoding: | (of_string_encoding_t) | encoding | |
length: | (size_t) | cStringLength | |
- (id) initWithFormat: | (OFConstantString*) | format | |
, | ... | ||
- (id) initWithFormat: | (OFConstantString*) | format | |
arguments: | (va_list) | arguments | |
Initializes an already allocated OFString with a format string.
See printf for the format syntax. As an addition, %@ is available as format specifier for objects.
format | A string used as format to initialize the OFString |
arguments | The arguments used in the format string |
- (id) initWithPath: | (OFString*) | firstComponent | |
, | ... | ||
- (id) initWithPath: | (OFString*) | firstComponent | |
arguments: | (va_list) | arguments | |
- (id) initWithString: | (OFString*) | string |
- (id) initWithUnicodeString: | (const of_unichar_t*) | string |
- (id) initWithUnicodeString: | (const of_unichar_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
- (id) initWithUnicodeString: | (const of_unichar_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
length: | (size_t) | length | |
Initializes an already allocated OFString with a unicode string with the specified length, assuming the specified byte order if no BOM is found.
string | The unicode string |
byteOrder | The byte order to assume if there is no BOM |
length | The length of the unicode string |
- (id) initWithUnicodeString: | (const of_unichar_t*) | string | |
length: | (size_t) | length | |
- (id) initWithUTF16String: | (const uint16_t*) | string |
- (id) initWithUTF16String: | (const uint16_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
- (id) initWithUTF16String: | (const uint16_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
length: | (size_t) | length | |
Initializes an already allocated OFString with a UTF-16 string with the specified length, assuming the specified byte order if no BOM is found.
string | The UTF-16 string |
byteOrder | The byte order to assume if there is no BOM |
length | The length of the UTF-16 string |
- (id) initWithUTF16String: | (const uint16_t*) | string | |
length: | (size_t) | length | |
- (id) initWithUTF8String: | (const char*) | UTF8String |
- (id) initWithUTF8String: | (const char*) | UTF8String | |
length: | (size_t) | UTF8StringLength | |
- (id) JSONValue |
Creates an object from the JSON value of the string.
- (OFString *) lastPathComponent |
Returns the last component of the path.
- (size_t) length |
Returns the length of the string in Unicode characters.
- (OFString *) lowercaseString |
Returns the string in lowercase.
- (OFString*) MD5Hash |
- (id) objectByDeserializing |
Deserializes the receiver into an object.
- (OFArray *) pathComponents |
Returns the components of the path.
- (OFString*) SHA1Hash |
Creates a new string by appending another string.
string | The string to append |
- (OFString *) stringByDeletingEnclosingWhitespaces |
Creates a new string by deleting leading and trailing whitespaces.
- (OFString *) stringByDeletingLastPathComponent |
Returns the directory name of the path.
- (OFString *) stringByDeletingLeadingWhitespaces |
Creates a new string by deleting leading whitespaces.
- (OFString *) stringByDeletingTrailingWhitespaces |
Creates a new string by deleting trailing whitespaces.
Creates a new string by prepending another string.
string | The string to prepend |
- (OFString *) stringByReplacingOccurrencesOfString: | (OFString*) | string | |
withString: | (OFString*) | replacement | |
Creates a new string by replacing the occurrences of the specified string with the specified replacement.
string | The string to replace |
replacement | The string with which it should be replaced |
- (OFString *) stringByReplacingOccurrencesOfString: | (OFString*) | string | |
withString: | (OFString*) | replacement | |
inRange: | (of_range_t) | range | |
Creates a new string by replacing the occurrences of the specified string in the specified range with the specified replacement.
string | The string to replace |
replacement | The string with which it should be replaced |
range | The range in which to replace the string |
- (OFString*) stringByURLDecoding |
Decodes a string used in a URL.
- (OFString*) stringByURLEncoding |
Encodes a string for use in a URL.
- (OFString*) stringByXMLEscaping |
Escapes a string for use in an XML document.
- (OFString*) stringByXMLUnescapingWithBlock: | (of_string_xml_unescaping_block_t) | block |
Unescapes XML in the string and uses the specified block for unknown entities.
block | A block which handles unknown entities |
- (OFString*) stringByXMLUnescapingWithDelegate: | (id< OFStringXMLUnescapingDelegate >) | delegate |
Unescapes XML in the string and uses the specified delegate for unknown entities.
delegate | An OFXMLUnescapingDelegate as a handler for unknown entities |
+ (id) stringWithContentsOfFile: | (OFString*) | path |
+ (id) stringWithContentsOfFile: | (OFString*) | path | |
encoding: | (of_string_encoding_t) | encoding | |
+ (id) stringWithContentsOfURL: | (OFURL*) | URL |
Creates a new OFString with the contents of the specified URL.
If the URL's scheme is file, it tries UTF-8 encoding.
If the URL's scheme is http(s), it tries to detect the encoding from the HTTP headers. If it could not detect the encoding using the HTTP headers, it tries UTF-8.
URL | The URL to the contents for the string |
+ (id) stringWithContentsOfURL: | (OFURL*) | URL | |
encoding: | (of_string_encoding_t) | encoding | |
+ (id) stringWithCString: | (const char*) | cString | |
encoding: | (of_string_encoding_t) | encoding | |
+ (id) stringWithCString: | (const char*) | cString | |
encoding: | (of_string_encoding_t) | encoding | |
length: | (size_t) | cStringLength | |
+ (id) stringWithFormat: | (OFConstantString*) | format | |
, | ... | ||
+ (id) stringWithPath: | (OFString*) | firstComponent | |
, | ... | ||
+ (id) stringWithString: | (OFString*) | string |
+ (id) stringWithUnicodeString: | (const of_unichar_t*) | string |
+ (id) stringWithUnicodeString: | (const of_unichar_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
+ (id) stringWithUnicodeString: | (const of_unichar_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
length: | (size_t) | length | |
+ (id) stringWithUnicodeString: | (const of_unichar_t*) | string | |
length: | (size_t) | length | |
+ (id) stringWithUTF16String: | (const uint16_t*) | string |
+ (id) stringWithUTF16String: | (const uint16_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
+ (id) stringWithUTF16String: | (const uint16_t*) | string | |
byteOrder: | (of_endianess_t) | byteOrder | |
length: | (size_t) | length | |
+ (id) stringWithUTF16String: | (const uint16_t*) | string | |
length: | (size_t) | length | |
+ (id) stringWithUTF8String: | (const char*) | UTF8String |
+ (id) stringWithUTF8String: | (const char*) | UTF8String | |
length: | (size_t) | UTF8StringLength | |
- (OFString *) substringWithRange: | (of_range_t) | range |
Creates a substring with the specified range.
range | The range of the substring |
- (const of_unichar_t *) unicodeString |
Returns the string as an array of Unicode characters.
The result is valid until the autorelease pool is released. If you want to use the result outside the scope of the current autorelease pool, you have to copy it.
- (OFString *) uppercaseString |
Returns the string in uppercase.
- (const uint16_t *) UTF16String |
Returns the string in big endian UTF-16 encoding.
The result is valid until the autorelease pool is released. If you want to use the result outside the scope of the current autorelease pool, you have to copy it.
- (const char *) UTF8String |
- (size_t) UTF8StringLength |
Returns the number of bytes the string needs in UTF-8 encoding.
- (void) writeToFile: | (OFString*) | path |
Writes the string into the specified file using UTF-8 encoding.
path | The path of the file to write to |