Skip navigation.
 
mlRe: NSString from wstring
FROM : Alexander Cohen
DATE : Tue Mar 04 19:31:07 2008

thx, works like a charm.

AC

On 4-Mar-08, at 12:49 PM, matt.<email_removed> wrote:

>
> On 4 Mar 2008, at 18:43, Alexander Cohen wrote:
>

>> Hi,
>>
>> Whats the best way to get an NSString from a wstring?
>>

>
> This is what I do:
>
> @interface NSString (wstring_additions)
> +(NSString*) stringWithwstring:(const std::wstring&)string;
> -(std::wstring) getwstring;
> @end
>
> @implementation NSString (wstring_additions)
>
> #if TARGET_RT_BIG_ENDIAN
>     const NSStringEncoding kEncoding_wchar_t = 
> CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF32BE);
> #else
>     const NSStringEncoding kEncoding_wchar_t = 
> CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingUTF32LE);
> #endif
>
> +(NSString*) stringWithwstring:(const std::wstring&)ws
> {
>     char* data = (char*)ws.data();
>     unsigned size = ws.size() * sizeof(wchar_t);
>     
>     NSString* result = [[[NSString alloc] initWithBytes:data 
> length:size encoding:kEncoding_wchar_t] autorelease];
>     return result;
> }
>
> -(std::wstring) getwstring
> {
>     NSData* asData = [self dataUsingEncoding:kEncoding_wchar_t];
>     return std::wstring((wchar_t*)[asData bytes], [asData length] / 
> sizeof(wchar_t));
> }
>
>
> Matt

Related mailsAuthorDate
mlNSString from wstring Alexander Cohen Mar 4, 18:43
mlRe: NSString from wstring matt.gough Mar 4, 18:49
mlRe: NSString from wstring Alexander Cohen Mar 4, 19:31