Hei! ajattelin kysyä tietäsikö joku keinon lukea binääriä exestä javalla?
Jos ei niin olisiko joku ohjelma jolla voisi lukea?
Kiitos!
Samalla tavalla sitä luetaan kuin muitakin tiedostoja. Mahdatkohan nyt ihan ymmärtää, mitä se tiedosto oikeasti sisältää?
en kovin hyvin mutta mietin voiko sitä lukea niin että tulisi 0 ja 1 ulos
Yhdessä tavussa (byte) on kahdeksan bittiä (bit), jotka saat erotettua siitä bittioperaatioilla.
byte b = 123; int alinbitti = ((b >> 0) & 1); int ylinbitti = ((b >> 7) & 1); System.out.println("Alin (0.) bitti: " + alinbitti + ", ylin (7.) bitti: " + ylinbitti);
Se, että tiedosto sisältää "binääriä", tarkoittaa, että tiedostossa olevia tavuja ei ole järkevää yrittää tulkita tekstinä. "Binääridatan" käsittely ei useinkaan edellytä puuttumista yksittäisiin bitteihin, ja varsinkaan ei ole järkevää muuttaa dataa ykkösiksi ja nolliksi.
Kun olet lukenut exe binäärin ohjelmaan voit tulostaa ne tähän tyyliin:
int foo = 432465; System.out.println(Integer.toBinaryString(foo));
Joka tulostaa: 1101001100101010001
Sain homman toimimaan joten kiitoksia avusta!!!
Peten ratkaisussa on vielä sellainen puute, että se jättää luvun vasemmalta puolelta nollat tulostamatta, jolloin esimerkiksi tiedostossa olevat bitit 00000001 00000001 00000001 luettuina tavu kerrallaan tulostuisivat virheellisesti muodossa 111.
Aihe on jo aika vanha, joten et voi enää vastata siihen.