我想解码 % 转义字符串,如下所示。
%E7%89%9B%E4%B9%B3%E3%81%8C%E7%BE%8E%E5
通过 Web API,我得到了包含日文字符串的 xml 数据。这个应用程序通过 NSURLConnection 收到。所以数据是通过以下方法接收的。
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSString *xml = [[NSString alloc] initWithData:receivedData encoding:encoding];
NSData *xmlData = [[xml stringByReplacingPercentEscapesUsingEncoding:encoding]
dataUsingEncoding:encoding];
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:xmlData];
[parser setDelegate:self];
[parser parse];
}
但是,这个 xmlData 只有英文字母字符串,没有日文转义字符串。所以我无法从 xmlData 获取日语字符串数据。
无论如何,这个 xmlData 应该是
<?xml version="1.0" encoding="UTF-8" ?><ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:jp:jlp" xsi:schemaLocation="urn:yahoo:jp:jlp http://jlp.yahooapis.jp/MAService/V1/parseResponse.xsd"><ma_result><total_count>3</total_count><filtered_count>3</filtered_count><word_list><word><surface>夏</surface><reading>なつ</reading><pos>名詞</pos></word><word><surface>は</surface><reading>は</reading><pos>助詞</pos></word><word><surface>あつい</surface><reading>あつい</reading><pos>形容詞</pos></word></word_list></ma_result></ResultSet>
但现在 xmlData 是
<?xml version="1.0" encoding="UTF-8" ?><ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:jp:jlp" xsi:schemaLocation="urn:yahoo:jp:jlp http://jlp.yahooapis.jp/MAService/V1_list></ma_result></ResultSet>
我认为 stringByReplacingPercentEscapesUsingEncoding 方法省略了日语数据,不是吗?请告诉我如何解决。