#pragma marks======== 将gbk编码的字符串转成NSString ===========
-(NSString *)getStringFromGBKStr:(NSString *)gbkStr
{
Byte byte[gbkStr.length/2];
NSScanner *hexScanner;
NSString *tmp;
for(NSUInteger i=0;i<gbkStr.length/2;i++)
{
tmp = [gbkStr substringWithRange:NSMakeRange(i*2,2)];
unsigned int iStr = 0;
hexScanner = [NSScanner scannerWithString:tmp];
[hexScanner scanHexInt:&iStr];
byte[i]=iStr;
}
NSData *data = [NSData dataWithBytes:byte length:gbkStr.length/2];
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *retStr = [[NSString alloc] initWithData:data encoding:enc];
return retStr;
}
#pragma marks======== 将NSString转成gbk编码的字符串 ===========
-(NSString *)convertStringToGBKStr:(NSString *)str
{
NSMutableArray * array=[[NSMutableArray alloc]init];
//转换成UTF-8
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData *data = [str dataUsingEncoding: enc];
Byte * bytes = (Byte *)[data bytes];
for(NSUInteger i=0;i<data.length;i++)
{
[array addObject:[NSString stringWithFormat:@"%X",bytes[i]]];
}
return [array componentsJoinedByString:@""];
}