我该如何解决Objective-C中%escapeped japanese string的问题

时间:2012-07-04 13:08:09

标签: iphone objective-c xml escaping

我想解码%escapeped string,如下所示。

%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方法省略了日文数据,不是吗? 请告诉我如何解决。

0 个答案:

没有答案