iOS GBK编码与汉字相互转换 BABA 汉

论坛 期权论坛 脚本     
匿名技术用户   2020-12-30 21:38   15   0

#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:@""];

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP