为什么直接注释的编码字符串没有转换为阿拉伯语?

Han*_*nny 4 utf-8 arabic latin1 ios

NSString * string  = @"?????????? ??????? ????? ?????????????";
    const char *c = [string cStringUsingEncoding:NSUTF8StringEncoding];

    NSString *newString = [[NSString alloc]initWithCString:c   encoding:NSISOLatin1StringEncoding];
     NSLog(@"%@",newString);


//    NSString * staticEncodedString = @"اÙÙØ­ÙÙ ÙØ¯Ù ÙÙÙÙÙÙÙ Ø±ÙØ¨Ù٠اÙÙØ¹ÙاÙÙÙ ÙÙÙÙ";
    const char *cvvv = [newString cStringUsingEncoding:NSISOLatin1StringEncoding];
    NSString *newStringV = [[NSString alloc]initWithCString:cvvv  encoding:NSUTF8StringEncoding];
  NSLog(@"%@",newStringV);
Run Code Online (Sandbox Code Playgroud)

为什么直接注释的编码字符串没有转换为阿拉伯语?当我对阿拉伯语进行硬编码时,它会编码然后正确解码,但为什么不能用阿拉伯语读取静态编码字符串?

谢谢你的回复杰克。是的,我在解码“staticEncodedString”时丢失了数据。但我想要的只是将以下字符串解码回阿拉伯语。

 NSString * staticEncodedString = @"اÙÙØ­ÙÙ ÙØ¯Ù ÙÙÙÙÙÙÙ Ø±ÙØ¨Ù٠اÙÙØ¹ÙاÙÙÙ ÙÙÙÙ";
Run Code Online (Sandbox Code Playgroud)

小智 5

编码在 ANSI 中,我认为可以从任何工具将其更改为 UTF-8。例如使用 Notepad++ 进行应用,然后您可以在 sqlite 或 ios 中使用它进行编码。