1

XMLからumlaultsを削除しようとしました。また、このようなコードを使用しましたが、それでも機能しないので、私のタスクを手伝ってください。

NSString *something  = [self base64StringFromData:CDATABlock length:[CDATABlock  length]];   
NSData *pageData=[something dataUsingEncoding:NSUTF8StringEncoding];
NSString *webpage = [NSString stringWithCString:something encoding:NSUTF8StringEncoding];
NSString *torrent = [NSString stringWithUTF8String:something];
NSString *body = [NSString stringWithCString:[CDATABlock bytes] length:[CDATABlock length] encoding:NSUTF8StringEncoding];
NSData *torrent = [ objectFromEncodedData:CDATABlock];
NSString *secondtry = [NSString stringWithFormat:@"%.*s", [CDATABlock length], [CDATABlock bytes]];
NSString *secondtry = [[NSString alloc] initWithBytes:[CDATABlock bytes]length:[CDATABlock length] encoding: NSUTF8StringEncoding];
NSString *secondtry = [NSString stringWithCString:[CDATABlock bytes] encoding:NSUTF8StringEncoding];
NSString *secondtry = [NSString stringWithUTF8String:[CDATABlock bytes]];
NSString *secondtry = [NSString stringWithCharacters:[CDATABlock bytes] length:[CDATABlock length] / sizeof(unichar)];

実際、XMLからこのタグを取得しました

[CDATA[Dickensstraße, Zoo, Mitte (Stadtbezirk), Hannover, Region Hannover, 30175, Niedersachsen, Deutschland]]

そしてそれはこのタグを表示するので、なぜ私はディスプレイで間違った文字列を取得したのですか?

DickensstraÃe, Zoo, Mitte (Stadtbezirk), Hannover, Region Hannover, 30175, Niedersachsen, Deutschland
4

1 に答える 1

0

最初にテキストを CDATA ブロックに入れるために使用されたエンコーディングを把握し、取得するデータに同じエンコーディングを使用する必要があります。

言わざるを得ませんが、テキストを CDATA ブロックでラップしない方法があれば、そうします。これは、Unicode を適切に処理する XML の恐ろしい悪用です...

于 2010-01-20T08:08:41.987 に答える