在iPhone中使用UTF-8进行编码和解码

Ekr*_*kra 3 iphone encoding cocoa-touch utf-8 character-encoding

我正在寻找一个演示如何编码然后使用UTF-8解码相同字符串的示例.编码然后解码意味着我想在2个区域中实现这些方法,其中一个可以对其进行编码,另一个区域可以对其进行解码.

我见过API但是没有取得多大成功:

  • stringWithCString:encoding:
  • stringWithUTF8String:
  • stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc;

编辑
我有øæ-test-2.txt我编码的字符串如下:

char *s = "øæ-test-2.txt";
NSString *enc = [NSString stringWithCString:s encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

但我得到øæ-test-2.txt了输出.现在我想要取回原来的字符串即øæ-test-2.txt


EDITED
øæ-test-2.txt 从服务器获得,我需要øæ-test-2.txt解码它.我可以从链接获得输出:http://www.cafewebmaster.com/online_tools/utf_decode

请尝试使用该链接,您将了解我的担忧.

如果有人能给出一些提示,指导或指出正确的方向,我们将不胜感激.

问候

vic*_*vic 7

要将NSString对象转换为UTF8 C字符串,请使用UTF8String

char *utf8string = [@"A string with ümläuts" UTF8String];
Run Code Online (Sandbox Code Playgroud)

要将UTF8 C字符串转换为NSString对象,请使用stringWithUTF8String:initWithUTF8String:

NSString *string = [NSString stringWithUTF8String:utf8string];
Run Code Online (Sandbox Code Playgroud)

请注意,NSString对象实现为UTF-16,因此您无法真正拥有"UTF-8 NSString"(无论如何,编码应被视为实现细节).