Zdravím, Jeden byte je v Javě reprezentován typem byte (překvapivě). Bohužel se jedná o signed, unsigned typy v Javě nejsou :-( Pozor na jednu věc: základní datový typ používaný JVM je int, tedy 32bitový integer. Menší typy (byte, short) se při manipulaci s nimi (především numerických operacích) převádějí na int a zpět. Z toho důvodu by v takovéto aplikaci možná bylo lepší ukládat je rovnou v poli uint32 (už kvůli zarovnání).
Viz specifikace jazyka Java a JVM. Kamil Podlešák > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Behalf Of Jaroslav Hurdes > Sent: Tuesday, September 11, 2007 2:35 PM > To: Konference Java > Subject: JNI a unsigned char * v cpp > > > Zdravim. Predelavam projekt, ktery je v c++ do javy s > vyuzitim nativnich > knihoven pro nektere casove kriticke operace. V c++ je velmi casto > pouzit typ unsigned char pro reprezentaci BYTU (0-255). Potrebuji > takovato pole prenest z c++ do javy a pote je predat ke > zpacovani jine > nativni knihovne. Do ktereho typu je to vhodne prenaset, > abych i v c++ i > v jave mohl pracovat s temito hodnotami bez nejakych zbytecnych > kopirovani a prevodu. Idealne jen s vyuzitim fci JNI pro > pristum k polim > objektu. > > Priklad : nativni knihovna 1 preda jave pole unsigned char * s > obrazovymi daty a v jave je napriklad zobrazim a predam > nativni knihovne > 2 k dalsimu zparcovani (opet jako unsigned char *). > > Diky Jaroslav Hurdes >
