Отправка cStringUsingEncoding:
в encodedString
может работать, только если encodedString
является объектом NSString. Наличие объекта NSString - это точка, к которой вы пытаетесь добраться. Более того, этот метод не декодирует строку, он кодирует строку, используя запрашиваемую кодировку; таким образом, в показанном вами коде вы запрашиваете (уже закодированную) строку для кодирования в некотором случайном кодировании (кодирование строки C по умолчанию), а затем пытаетесь декодировать результат как UTF-8. Это не сработает.
Вы не указываете, какой тип вы используете для encodedString
. В любом случае вам нужно создать объект NSString, передав encodedString
и его кодировку.
Все они, кроме initWithUTF8String:
, требуют указания кодировки (initWithUTF8String:
делает по определению), и все они, кроме initWithData:encoding:
, выпускаются в удобной версии с автоматическим выпуском (+stringWith…
вместо -initWith…
).