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
> 

Odpovedet emailem