- Steven: Sokat utazó kávéfüggők ide!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- Pajac: tpm.msc
- M0ng00se: Hardvert áruhitelre?
- eBay-es kütyük kis pénzért
Új hozzászólás Aktív témák
-
Inhouse
őstag
Jó, annyi, hogy alapból nem egészként szerepelt ez a változó, hanem 2 tizedessel (.00) és így nem igazán kellett megpótolja 0-kal, tehát vette az első 6-ot. Ez lett vagy 5 szám és egy pont, vagy 4 szám, egy pont és egy 0, amikor nem volt 6 jegyű az egész.
Az int() megoldotta...
008456->8456.0
Annyi érdekesség, hogy adott időpontban, másnap is ugyanaz a kulcs jön ki...
Van tegtnapi mentésem...
-
Inhouse
őstag
Ja, gyakorlatilag, alapból 2 tizedessel számol. Ha 6 jegyű az egész, akkor nem kell kiegészíteni, ezért veszi az első 6-ot, nincs gond. Mondjuk ha 5 jegyű, akkor se kell kiegészítenie a tizedesek miatt...de így a pont lesz a 6. karakter.
Már csak az a kérdés, hogy hallucináltam-e a pont nélküli, de eltolódott 0-t. -
Inhouse
őstag
Na, a '.' hiba a legvégén keletkezett, még az r értéke is jó volt, viszont nálam az 'r % 1000000'-nek az egészrészét kell vennem, úgy jó. Na, majd még tesztelem, hogy ha kezdő 0 van, akkor is jó lesz-e így... Nem is értem, miért csinálja ezt néha a HB-s padl() függvény...
-
"Engem az zavar a hex2bin()-ben, hogy nem értem az eredményét, miért csak (látszólag?) azt a 2 értéket alakítja át?
00|00|00|00|03|73|f2|a7 -> s�"Ezt teljesen helyesen teszi
mert a webes felületek döntő többségben UTF-8 kódolással dolgoznak:
- az ASCII vezérlő karaktereket (0-31 / 00-1f) nem mutatják
- a szabványos ASCII karakterek (32-127 / 20-7f) megegyeznek
- emellett az UTF-8 szabvány nem egy single-byte codepage (mint a win1250 vagy az iso8859-2), ami azt jelenti, hogy egy karakter lehet tárolva 1, 2, 3, 4 byte-on is, de nincs minden kombinációra illeszthető karakterEmiatt:
- 00 és 03 nincs megjelenítve
- 73 --> 's'
- f2a7 --> f2 esetén a karakterhez 4 byte-ot vár, de ez itt nem teljesül, ezért itt egy úgynevezett replacement charactert helyez elA lényeg az, amit már korábban írtak, a képernyőn megjelenő forma semmit sem jelent...
-
ekkold
őstag
Bemásoltam korábban egy dekódoló függvényt, én is a netről szedtem. Teljesen jól működik, csak használni kell.
Azon kívül talán léteznek még ingyenes tárhely szolgáltatók, ahol php-t is lehet használni. Egy ilyen apphoz nagyon kevés hely is elegendő. Az ATW-n pl. most is lehet ingyen tárhelyet regisztrálni - mindjárt kipróbálom egy-e rajta... -
cinemazealot
addikt
"A pontok szóközöket helyettesítenek, csak a fórummotor kiszedi őket..."
Nem szóközök, hanem nullás bájtok, amiknek nincs (olvasható) karakteres megfelelője. És nem a fórum motor, hanem a HTML "szedi ki őket", valójában pedig csak összevonja a white space-eket.
A HTML alapú megjelenítés sok szempontból nem szerencsés ilyen esetben, de a hexadecimális formátum sokat tud ebben segíteni. Hasonló okból barátai a fejlesztőknek a hexa editorok.
-
cinemazealot
addikt
"Ez a hex2bin() meg csak párat."
Ugye nem a képernyőről próbálod leolvasni hány bájtot gyárt a függvény?
Mondom, bármit is kapsz ennek kimenetéül, azt ne próbáld szövegként elolvasni!
Egyébként rém egyszerű a működése, mert a függvény hexadecimális bemenetének és bináris kimenetének hossza (bájt- vagy ha úgy tetszik, karakterszáma) között egy 2-es osztó áll: beadsz neki n (páros) számú hexadecimális karaktert string formájában és kiad n/2 számú bájtot szintén string formájában. Amit csak akkor tudsz olvasni, ha mindegyik bájt értéke a 32...127 (hexadecimálisan 0x20...0x7f) tartományban van, ami jelen esetben nagy eséllyel nincs így.
-
Inhouse
őstag
Ja, korai volt az örömöm, a bin2hex() csak visszaalakítja a korábbi hexa alakba, a hex2bin() inverze (triviális, csak elsőre nem esett le), a hexáig jó vagyok HB-ban is. Csak ott az ennek megfelelőnek vélt függvény annyi karaktert gyárt, amennyi kijön a hexa értékből. Ez a hex2bin() meg csak párat. Gyanús, hogy ez így nem lesz jó...lehet, hogy 01... olvasható formátumban kéne valahogy megnézzem a kapott értéket, mindkét platformon...
-
cinemazealot
addikt
Még egyszer: a hex2bin() kimenete nem egy hétköznapi (olvasható) string, hanem egy (jelen pillanatban 8 karakter, azaz 8 bájt hosszú) 64 bites integer string-ként tárolva. Pusztán azért, mert így kényelmesebb vele dolgozni.
Ne próbáld megfejteni "00|00|00|00|03|73|f2|a7" bájtsorozat (string) szöveges jelentését, mert nincs neki olyan. Ez nem más, mint az 57930407 értékű egész szám big-endian ábrázolása, ami a 1737912210/30 matematikai művelet eredményeként született. Mert ha jól sejtem, tegnap 18:23:30-kor futtattad.
Online szerintem ne akarj PHP-t futtatni, inkább telepíts fel egyet magadnak, futtasd a programot parancssorból és itt-ott állítsd meg, hogy "kiechózd" egyik-másik változót. Viszont kiechózni sem lehet mindent, pl. a bináris tartalom parancssorban is szarul mutatna. Ahhoz előbb érdemes beletenni a bináris tartalmat egy bin2hex()-be, csak hogy hexadecimálisan olvasható legyen.
Még egy gondolat a stringekhez: a PHP-ban minden bináris tartalom (pl. hang, kép, videó, Excel tábla, Word vagy PDF dokumentum) betölthető stringbe. Nyilvánvaló, hogy egy ilyet kiírni szövegként teljességgel értelmetlen volna, mert az csak egy bájtsor, aminek elemei bőven túlmutathatnak az ASCII kódtáblán.
Szerk.: Most melózom, de ha igény van rá, este leírom egy hsz-ben az egész program működését sorról-sorra.
-
cinemazealot
addikt
Szia Inhouse!
A hex2bin() pontosan azt teszi, amit a neve sugall, illetve amit a manual ír róla: egy bináris stringet hoz létre. Ennek azonban nem feltétele, hogy a string ember által olvasható is legyen. Ha megfigyeled, az eredménye csupán egy 64 bites (8 bájtos) "big-endian" integer, aminek alapja a 30 másodpercenkénti számláló, kiegészítve balról nulla karakterekkel (!). Mivel az alapja integer, amúgy sem lenne string formában olvasható, de nem is ez a cél, hanem hogy bekerüljön a h() függvénybe, ahol a jobbról nulla bájtokkal (!) kiegészített és aztán jól "meg-scramble-zött" kulcshoz hozzáfűzve ráeresztjük az SHA1-et... aztán mégegyszer egy másik pad bájttal.
Olvasd el a linkelt szabványt... illetve az abban hivatkozott RFC 4226 és RFC 2104 szabványokat, utóbbiban lesz jobban kifejtve ez a fenti eljárás.
Új hozzászólás Aktív témák
Hirdetés
- Honor 400 Lite Fekete + fülhallgató
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- Sigma 150-600mm f/5-6.3 DG OS HSM C ( Canon ) -Újszerű-
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Új MSI KATANA 15 Gamer Tervező Laptop 15,6" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- BESZÁMÍTÁS! Asus Prime A320M R5 1600 16GB DDR4 512GB SSD GTX 1050 Ti 4GB Rampage SHIVA TT 500W
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RX 7700 XT 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest