iOS 字符串 與 Unicode 互轉(zhuǎn)

//字符串 轉(zhuǎn)Unicode

  • (NSString *)utf8ToUnicode:(NSString *)string{

    NSUInteger length = [string length];
    NSMutableString *str = [NSMutableString stringWithCapacity:0];
    for (int i = 0;i < length; i++){
    NSMutableString *s = [NSMutableString stringWithCapacity:0];
    unichar _char = [string characterAtIndex:i];
    // 判斷是否為英文和數(shù)字
    if (_char <= '9' && _char >='0'){
    [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
    }else if(_char >='a' && _char <= 'z'){
    [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
    }else if(_char >='A' && _char <= 'Z')
    {
    [s appendFormat:@"%@",[string substringWithRange:NSMakeRange(i,1)]];
    }else{
    // 中文和字符
    [s appendFormat:@"\u%x",[string characterAtIndex:i]];
    // 不足位數(shù)補(bǔ)0 否則解碼不成功
    if(s.length == 4) {
    [s insertString:@"00" atIndex:2];
    } else if (s.length == 5) {
    [s insertString:@"0" atIndex:2];
    }
    }
    [str appendFormat:@"%@", s];
    }
    return str;

}

//Unicode 轉(zhuǎn)字符串

  • (NSString *)replaceUnicode:(NSString *)unicodeStr
    {

    NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\u"withString:@"\U"];
    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"""withString:@"\""];
    NSString *tempStr3 = [[@"""stringByAppendingString:tempStr2] stringByAppendingString:@"""];
    NSData tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
    NSString
    returnStr = [NSPropertyListSerialization propertyListFromData:tempData
    mutabilityOption:NSPropertyListImmutable
    format:NULL
    errorDescription:NULL];
    return [returnStr stringByReplacingOccurrencesOfString:@"\r\n"withString:@"\n"];
    }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容