1

我想解码 % 转义字符串,如下所示。

%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>夏&lt;/surface><reading>なつ</reading><pos>名詞</pos></word><word><surface>は&lt;/surface><reading>は&lt;/reading><pos>助詞</pos></word><word><surface>あつい&lt;/surface><reading>あつい&lt;/reading><pos>形容詞&lt;/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 方法省略了日语数据,不是吗?请告诉我如何解决。

4

0 回答 0