iOS GBK編碼與漢字相互轉換 BABA 漢

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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章