вторник, 7 сентября 2010 г.

NSString to wstring

NSString to std::wstring & std::wstring to NSString

  1. std::wstring NSStringToStringW ( NSString* Str )   
  2. {   
  3.     NSStringEncoding pEncode    =   CFStringConvertEncodingToNSStringEncoding ( kCFStringEncodingUTF32LE );   
  4.     NSData* pSData              =   [ Str dataUsingEncoding : pEncode ];    
  5.    
  6.     return std::wstring ( (wchar_t*) [ pSData bytes ], [ pSData length] / sizeof ( wchar_t ) );   
  7. }   
  8.    
  9. NSString* StringWToNSString ( const std::wstring& Str )   
  10. {   
  11.     NSString* pString = [ [ NSString alloc ]    
  12.                         initWithBytes : (char*)Str.data()   
  13.                                length : Str.size() * sizeof(wchar_t)   
  14.                              encoding : CFStringConvertEncodingToNSStringEncoding ( kCFStringEncodingUTF32LE ) ];   
  15.     return pString;   
  16. }  
.

1 комментарий: