0

オブジェクトにバイト配列(私がNSMutableArray's推測)をNSMutableArray取得しています。取得したのは、サービスURLからXmlの解析からです..今、そのバイト配列をに変換する必要がありますUIImage..方法を理解..? どうすればできますか?NSDataUIImage

私の配列は次のようになります:

(
{
        Name = "John";
        Image = "/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJS
kcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gODAK/9sAQwAGBAUGBQQGBgUGBwcGCAoQCgoJCQoUDg8MEBcUGBgXF
BYWGh0lHxobIxwWFiAsICMmJykqKRkfLTAtKDAlKCko/9sAQwEHBwcKCAoTCgoTKBoWGigoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo/8AAEQgEKwZAAwEiAAIRAQMRAf/........
 //big byte array 
}
)

まず、バイト配列かどうかをクリアする必要がありますか?これから画像を抽出するにはどうすればよいですか?

4

1 に答える 1

5

データは次のように編成されます。

  • 一番外側のデータ構造はNSArrayor NSMutableArray(あなたが書いたように) です。
  • インデックス 0 (配列の最初の要素) にNSDictionaryインスタンスがあります。
  • ディクショナリには、2 つのキーと値のペアがあります。1 つはキーImageと値として文字列を持ちます。
  • 文字列値は、Base64 としてエンコードされたバイナリ データです。
  • バイナリデータは画像データです。

画像を取得するには、次のパスに移動する必要があります。

NSMutableArray* array = ... // from XML
NSDictionary* dict = [array objectAtIndex: 0];
NSString* dataString = [dict objectForKey: @"Image"];
NSData* imageData = [dataString base64DecodedData];
UIImage* image = [UIImage imageWithData: imageData];

Base64 デコードは iOS の一部ではないことに注意してください。しかし、文字列をデータにデコードするための実装がネット上に多数あります。グーグルで検索してください。

シンプルで見栄えの良い Base64 実装はGitHubにあります。

于 2012-11-24T11:16:09.243 に答える