Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何解码\U201a\U00c4\U00f2\U201a\U00c4\U00f4这个?_Ios_Objective C_Encoding_Decoding - Fatal编程技术网

Ios 如何解码\U201a\U00c4\U00f2\U201a\U00c4\U00f4这个?

Ios 如何解码\U201a\U00c4\U00f2\U201a\U00c4\U00f4这个?,ios,objective-c,encoding,decoding,Ios,Objective C,Encoding,Decoding,Aam正在从服务器获取长文本,并且该文本包含字符\U201a\U00c4\u00f2他不能被命名为\U201a\U00c4\U00f4 当我在文本视图中显示文本时,我得到了一些不同的字符。。。 如何获取目标c中的正常文本??? 请帮我解决这个问题 当我从服务器接收数据时,我使用 infoDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 从那本信息字典里,我得到了这样的文本 就在眨眼

Aam正在从服务器获取长文本,并且该文本包含字符\U201a\U00c4\u00f2他不能被命名为\U201a\U00c4\U00f4

当我在文本视图中显示文本时,我得到了一些不同的字符。。。 如何获取目标c中的正常文本??? 请帮我解决这个问题

当我从服务器接收数据时,我使用

 infoDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 
从那本信息字典里,我得到了这样的文本

就在眨眼之间,他把表弟达力锁在了蛇的囚禁中。每根魔杖都有一个神奇的核心,比如凤凰\U201a\U00c4\U00f4s的头发或龙的心弦,它可以执行所有的魔法。 \n

我把这个值赋给textView,就像

 detailsTextView.text = [infoDictionary objectForKey:@"DESCRIPTION"];
但是在文本视图中,我得到了一些不同的字符

stringWithUTF8String:
将const char*作为参数,因此没有“@” 前面的符号


在文本视图中显示此
str

有两种可能性,一种可能性更大,一种可能性更小

不太可能的情况是,当您的服务器试图将其数据转换为JSON时,会发送垃圾

更有可能的是,你只是在吓唬自己,没有什么不对的。类似于
\U201a\U00c4\u00f2的东西他不能被命名\U201a\U00c4\U00f4
正是UTF-8中非ASCII字符的编码方式。例如,
U201A
是Unicode字符“单低9引号”。如果您感到好奇,请使用MacOS X中的角色查看器了解角色是什么。如果使用NSLog,也会得到相同的奇怪字符。它们应该在文本视图中显示得非常好

但是,在您的情况下,序列
\U00c4\U00f2
\U00c4\U00f4
似乎非常不寻常。这似乎是服务器代码或存储的实际数据的问题。如果你得到的是垃圾数据,你对此无能为力。它也不是由服务器上一个典型的愚蠢错误(存储宏字符,或者使用UTF-8并假设字节是代码点)造成的。你唯一能做的就是联系提供这些数据的人


现在你可以做点什么了。您可以使用方法
stringbyreplacingoccurrencesofstring:
将无意义的数据替换为合理的数据。我不希望序列
\U201a\U00c4\U00f4s=“Äô
出现在我显示的字符串中。所以,找出那个字符串属于那个里(比如说引号),并替换它。因此,将描述放入NSString,使用
stringbyreplacingoccurrencesofString:
并使用结果。可能有比这更奇怪的组合

你能显示你的代码吗?这些字符是
Emoji
不正常的,并且你的数据没有编码,答案只适用于正确编码的数据。您正在从应用程序创建这些数据吗?或者它直接来自api?@iphone直接来自api然后你需要使用php或服务器端编码方法中使用的任何语言对其进行正确编码,@Anbu.Karthik的答案对你有用。不,你必须在应用程序中解码,但字符编码不正确,因为它们不正确。。我想再提一件事。。复制整个json数据并使用任何联机检查它们是什么字符,以便您可以与您的应用程序匹配..同样的错误--在ARC中不允许将Objective c指针隐式转换为const char*_Nonnull–这完全没有抓住要点。如果您使用NSString,获得UTF-8编码,这会有什么帮助,并创建具有相同UTF-8编码的字符串?您将得到完全相同的字符串。
NSString *description = [infoDictionary objectForKey:@"DESCRIPTION"];
NSString *str = [NSString stringWithUTF8String:description.UTF8String];

 detailsTextView.text = str;