当我将NSString转换为NSData时,从NSData转换为NSString
NSString *input = @"ステータス";
NSData *output = [NSData dataWithBytes:[input UTF8String] length:[input length]];
NSString *output2 = [[NSString alloc] initWithData:output encoding:NSUTF8StringEncoding];
output2为零。
如果输入是字母字符,那就没问题。
答案 0 :(得分:4)
正确的转换是
NSData* output = [input dataUsingEncoding:NSUTF8StringEncoding];
代码的问题是[input length]
给出了Unicode字符的数量,而不是UTF-8字节的数量。