Keresés

Új hozzászólás Aktív témák

  • UnA

    Korrektor

    válasz Inhouse #7 üzenetére

    "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ő karakter

    Emiatt:
    - 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 el

    A lényeg az, amit már korábban írtak, a képernyőn megjelenő forma semmit sem jelent...

  • cinemazealot

    addikt

    válasz Inhouse #7 üzenetére

    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.

Új hozzászólás Aktív témák

Hirdetés