2009-08-17 3 views
8

У меня есть эта строка кода для преобразования NSString в NSData:Как преобразовать NSString в NSData?

NSData *data = [NSData dataWithBytes:[message UTF8String] length:[message lengthOfBytesUsingEncoding:NSUTF8StringEncoding]]; 

Как сделать это в Unicode вместо UTF8? Мое сообщение может содержать кириллические символы или диакритические знаки.

+1

Определите «Юникод». Это не кодировка (не строго говоря). UTF-8 отлично умеет кодировать все символы Unicode, поэтому его должно быть достаточно для вашего использования. –

+0

NSUnicodeStringEncoding –

ответ

18

Прежде всего, вы должны использовать dataUsingEncoding: вместо прохождения UTF8String. Вы используете только UTF8String, когда вам нужна строка C в этой кодировке.

Затем, для «Unicode» (в частности, UTF-16), просто отправьте NSUnicodeStringEncoding вместо NSUTF8StringEncoding в ваше сообщение dataUsingEncoding:.

+1

спасибо! Я как-то пропустил dataUsingEncoding в документах. –

Смежные вопросы