Как преобразовать NSString в NSData?

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

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

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


person Steve McLeod    schedule 17.08.2009    source источник
comment
Дайте определение Юникод. Это не кодировка (строго говоря, по крайней мере). UTF-8 прекрасно кодирует все символы Unicode, поэтому этого должно быть достаточно для вашего использования.   -  person Joachim Sauer    schedule 17.08.2009


Ответы (1)


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

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

person Peter Hosey    schedule 17.08.2009