0

我正在开发一个 iOS 应用程序,我有一个UIWebView女巫调用JavaScript函数女巫返回给我一个编码的文本,来解码这个文本我正在使用该NSString方法stringByReplacingPercentEscapesUsingEncoding,但这种方法的问题是我无法像这样解码特殊字符:%u2019。我如何解码这些字符?(%uxxxx) 感谢您的回答

4

2 回答 2

0

首先感谢每个回答我问题的忙碌人士,但我选择了这个解决方案:

Unicode 字符的非标准编码:%uxxxx,其中xxxx是表示为四个十六进制数字的 Unicode 值。此行为未被任何指定RFC且已被W3C. 第三版ECMA-262仍然包括一个escape(string)使用这种语法的函数,还包括一个对每个八位字节encodeURI(uri)进行转换UTF-8和百分比编码的函数。

我改变了JavaScript函数,女巫使用escape()函数用方法对字符串进行编码encodeURIComponent(uri);在Objective C代码中,我使用标准函数来解码我的字符串- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

于 2012-05-18T19:36:50.273 回答
0

这看起来像 UTF8 编码,而不是百分比编码。它是 Unicode 编码之一。我可能错了哪一个。但我认为它是UTF8。

您应该使用 stringWithUTF8String (如果数据已经是 NSString)或 initWithData:encoding: (如果来自 JavaScript 的数据是 NSData)这样的方法对其进行解码

于 2012-05-18T14:27:45.843 回答