ios unicode转汉字/汉字转gbk

//身份证姓名读取高低位需要转换,unicode转汉字,每2字节代表一个汉字

                    NSString *name = [string substringToIndex:60];

                    NSString *nameStr = @"";

                    for (NSInteger i=0 ;i<name.length;)

                    {

                        NSString *tempstr = [name substringWithRange:NSMakeRange(i,4)];//每两字节一个汉字

                        if([tempstr isEqualToString:@"2000"])

                        {

                            break;

                        }

                        NSString *tempNameStr1 = [tempstr substringWithRange:NSMakeRange(2,2)];//高低位转换

                        NSString *tempNameStr2 = [tempstr substringWithRange:NSMakeRange(0,2)];

                        NSString *tempName = [@"u" stringByAppendingString:tempNameStr1];//拼接\u

                        tempName = [@"\\" stringByAppendingString:tempName];

                        tempName = [tempName stringByAppendingString:tempNameStr2];

                        

                        nameStr = [nameStr stringByAppendingString:tempName];

                        i+=4;

                    }

                    nameStr =  [weakSelf replaceUnicode:nameStr];


- (NSString*) replaceUnicode:(NSString*)TransformUnicodeString


{

    

    NSString*tepStr1 = [TransformUnicodeString stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];

    

    NSString*tepStr2 = [tepStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];

    

    NSString*tepStr3 = [[@"\""stringByAppendingString:tepStr2]stringByAppendingString:@"\""];

    

    NSData*tepData = [tepStr3  dataUsingEncoding:NSUTF8StringEncoding];

    

    NSString*axiba = [NSPropertyListSerialization propertyListWithData:tepData options:NSPropertyListMutableContainers format:NULL error:NULL];

    

    return  [axiba stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];

    

}



汉字转gbk


NSStringEncodin gbkEncoding=CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

NSData*aData = [“要转的汉字” dataUsingEncoding: gbkEncoding];

    NSString *result = [NSStringTool convertDataToHexStr:aData];



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值