4

UIImage を NSData に変換しています。そして、NsData を Byte Array に変換し、その Byte 配列を json Parser の助けを借りてサーバーに投稿したいと考えています。

次のタイプの静的文字列をサーバーに渡すと、サーバーは受け入れて保存します。以下は文字列構文の例です。次のタイプのバイト配列を使用して、データをサーバーに送信します。

[255,216,255,224,0,16,74,70,73,70,0,1,1,1,0,96,0,96,0,0,255,219,0,67,0,8,6,6,7,6 ,5,8,7,7,7,9,9,8,10,12,...]

上記の結果については、次のように画像をデータに変換しています。

UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);

今、私は次のコードを使用しているため、NSdataをバイト配列に変換したいと考えています:

NSUInteger len = [data length];
Byte *byteData = (Byte*)malloc(len);
memcpy(byteData, [data bytes], len);
free(byteData)

また、これを NSdata に保存します。しかし、結果についてはわかりません。また、ループを使用してコードについて入力しましたが、結果としてaPNGが返されるたびに。

上記のコードで何か間違ったことをしていますか?

私にいくつかの助けを提供してください。また、これに対する助けを提供するように要求してください。

前もって感謝します。

4

1 に答える 1

11

これがあなたが探しているものかどうかは100%わかりません。試す:

UIImage *image = [UIImage imageNamed:@"image.png"];
NSData *data = UIImagePNGRepresentation(image);
NSUInteger len = data.length;
uint8_t *bytes = (uint8_t *)[data bytes];
NSMutableString *result = [NSMutableString stringWithCapacity:len * 3];
[result appendString:@"["];
for (NSUInteger i = 0; i < len; i++) {
    if (i) {
        [result appendString:@","];
    }
    [result appendFormat:@"%d", bytes[i]];
}
[result appendString:@"]"];

これはあなたが必要とするものですか?

于 2013-03-21T20:21:42.363 に答える