object-c NSString 转成特定编码格式如utf8、gbk等

时间:2023-03-09 19:06:09
object-c NSString 转成特定编码格式如utf8、gbk等

有两种方式

第一种是先转换成特定编码格式NSDATA

第二种是先转换成特定编码格式char *(cString)

转成gbk:

第一种:

- (NSString *) utf82gbk:(NSString *)string

{
    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSData *data = [string dataUsingEncoding:enc];
    NSString *retStr = [[[NSString alloc] initWithData:data encoding:enc] autorelease];
    return  retStr;   
}

第二种:

- (NSString *) utf82gbk:(NSString *)string

{
    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    NSData *data = [stringcStringUsingEncoding:enc];

    NSString *retStr = [NSString stringWithCString:data encoding:enc];

    return  retStr;   
}

转成utf8

与上面类似