It should be noted that the NSArchiver method and the NSString method do different things. NSArchiver creates data representing the string object which can then be unarchived back into an identical NSString. NSString's -dataUsingEncoding:, on the other hand, returns data representing a plain-text string in the encoding you select.