2016-05-08 60 views
-4

我注意到,这是一个C++数组,但我不知道它是如何存储以及如何。我使用了一个Arduino图像转换器。我忘了源代码,但我记得它是将图像转换为在Arduino TFT屏幕上显示。可能有人给我一个暗示,它是什么编码的名称或什么的,这样我就可以进一步研究它:(顺便说一句,这只是代码的摘录)C++中这是什么样的数组?

// Generated by : ImageConverter 565 v1.1 
// Generated from: 4-14-12-063-copy.jpg 
// Time generated: 5/8/2016 12:57:28 PM 
// Dimensions : 484x324 pixels 
// Size   : 313,632 Bytes 

#include <avr/pgmspace.h> 

prog_uint16_t 4-14-12-063-copy[0x26490] PROGMEM ={ 
0xC638, 0xD6B9, 0xC617, 0xC637, 0x844F, 0xA573, 0x7C8F, 0xC6B8, 0xFFDD, 0xEF3B, 0xCDF6, 0x9C2F, 0x838D, 0x51E6, 0x4A47, 0x4A67, // 0x0010 (16) 
0x7BCD, 0xB5B5, 0xCE37, 0xA513, 0xC637, 0xCE57, 0xBD75, 0x5249, 0x3184, 0x4A47, 0x736D, 0x83EF, 0x39E6, 0x2123, 0x2923, 0x18E2, // 0x0020 (32) 
0x2122, 0x2963, 0x1902, 0x18E1, 0x2964, 0x4247, 0x2984, 0x2122, 0x31A4, 0x39E5, 0x2964, 0x2964, 0x3164, 0x18A1, 0x18A1, 0x2943, // 0x0030 (48) 
0x31A5, 0x18C1, 0x10C1, 0x0880, 0x18E2, 0x1902, 0x10A1, 0x10A1, 0x10A1, 0x0880, 0x08A0, 0x1102, 0x1923, 0x10E2, 0x1081, 0x0860, // 0x0040 (64) 
0x0040, 0x0860, 0x08A1, 0x0881, 0x0880, 0x0880, 0x0880, 0x18E2, 0x18C2, 0x0020, 0x0860, 0x0840, 0x0020, 0x0020, 0x0000, 0x0040, // 0x0050 (80) 
0x0040, 0x08A0, 0x31E5, 0xA5B4, 0xA5B4, 0x9512, 0x5B8B, 0x3A87, 0x21C4, 0x2A25, 0x3246, 0x5B8B, 0x8CB0, 0x638C, 0x42A8, 0x4AC9, // 0x0060 (96) 
0x532A, 0x52E9, 0x4AC8, 0x7C4E, 0xA594, 0xADB4, 0x94D1, 0x73CD, 0x842F, 0x73CD, 0x7C4F, 0x740E, 0xB5F6, 0xE75C, 0xFFFF, 0xFFFF, // 0x0070 (112) 
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x0080 (128) 
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x0090 (144) 
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, // 0x00A0 (160) 
+14

这是无效的C++代码。 –

+3

我投票结束这个问题作为题外话题,因为它提出了一个不清楚的问题,声称某些东西是C++,它在C++中不是语法上有效的。 –

+2

评论告诉你它是从哪个文件生成的,以及它生成的是什么程序。 – Galik

回答

1

4-14-12-063-copy不是有效变量/ C++中的类型名称,和数组声明是这样

typename nameofarry[sizeofarry] = { optional initializer block }; 

所以PROGMEM[]后是无效的C++或者,如果它编译在所有它必须是某种非标准扩展的专门为嵌入式编程。

但是,如果你正在寻找的是“十六进制”这个词,那么数据看起来像是16位十六进制数据,它与预期类型的​​prog_uint16_t相对应 - 这可能是一个无符号的16位整数。

更新:...并根据代码中的评论,数据从JPEG image生成。

+1

我打算写我自己的答案,但是,你可以补充说 - 根据代码的评论 - 这是一个JPEG格式。 – kfsone

+0

该数据不是JPEG图像。它是从JPEG图像生成的,但现在是另一种格式。 – interjay

+0

@interjay - 当然,更新的措辞 – Soren