iOS对中文GB2312编码&解码

一、背景

接口请求,有时候会对中文有编码要求。作为参数进行GB2312编码;作为返回数据,显示时则需要客户端进行解码。

二、GB2312 

一个简体中文字符集的中国国家标准,全称为《信息交换用汉字编码字符集--基本集》

GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。

三、源码

1、GBK编码

/**

GBK(GB2312)编码

@param str 原字符串

@return 编码后的字符串

*/

+ (NSString *)GBKTransCoding:(NSString *)str {

//校验

if (![str isKindOfClass:[NSString class]]) return @"";

if (!str.length) return @"";

//GBK编码

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

return [str stringByAddingPercentEscapesUsingEncoding:enc];

}

2、解码

/**

GBK(GB2312)解码

@param str 原字符串

@return 解码后的字符串

*/

+ (NSString *)GBKTransDeCode:(NSString *)str {

//校验

if (![str isKindOfClass:[NSString class]]) return @"";

if (!str.length) return @"";

//解码

return [str stringByRemovingPercentEncoding];

}

解码效果图

你可能感兴趣的:(iOS对中文GB2312编码&解码)