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