NSString編碼轉換

來源:互聯網
上載者:User

     常有編碼方式有很多種,現在列出之間的轉換方式

NSString To UFT-8

    NSString *str2 =@"深";    const char * s = [str2 UTF8String];

     出現類似這樣格式的欄位"\\U6df1\\U5733\\U56fd\\U5f00\\U884c01\\U673a\\U623",通常為Unicode碼,轉換測試函數為

- (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"];  }  

    出現類似這樣格式的欄位"深圳银行",通常為GBK碼,轉換方式為

NSURL *url = [NSURL URLWithString:str2];    NSData *responseData = [NSData dataWithContentsOfURL:url];    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:enc];

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.