Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100

    Da binario a esadecimale

    salve
    come posso convertire un valore binario (es: campo mysql blob) nell'equivalente esadecimale?

  2. #2
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    tramite google ho trovato alcuni algoritmi intermedi che convertono stringhe binarie in esadecmali ma mi è stato detto che non sono adatti per quel che mi serve...

    avrei bisogno di una funzione che funzionasse più o meno così
    Codice PHP:
    Bin2Hex(RS("campo_mysql_blob")) => 0xABABABABABABABABABAABABABA 

  3. #3
    ho cercato un po' su google. sono convinto che qualcosa ci sia ma sinceramente (in quei 20 secondi che ci ho speso) non ho trovato nulla

    la soluzione più veloce è prendere uno script che fa questo lavoro in un altro linguaggio e tradurlo. con un po' di attenzione non è una cosa molto difficile.
    san imente saluta

    * http://simonecingano.it *

  4. #4
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    ho provato a cercare l'equivalente php ed ho scoperto che esiste una funzione nativa "bin2hex"
    solo che non ho trovato come fa la convesione proprio perchè è nativa...
    adesso mi verrebbe un attimino difficile riconvertire tutti i miei lavori in php solo per usare questa funzione
    materialmente una funzione di questo genere (che non deve funzionare con rappresentazioni ascii di dati binari) cosa fa?
    non esiste un algoritmo generico? (che continuo a non trovare)

  5. #5

  6. #6
    Utente bannato
    Registrato dal
    Jan 2006
    Messaggi
    100
    Originariamente inviato da Roby_72
    La tabellina non ti aiuta?



    cmq...
    il mio problema è trovare un metodo standard per conservare su file i dati di un campo blob
    li potrei convertire anche in ottale decimale cirillico ma mi serve "IL" sistema, quello giusto ed utilizzato da tutti
    ci arrivo da solo che un numero può essere scritto sia in esadecimale che in binario, però io chiedevo qualcosa di diverso

  7. #7
    la regola che uso io per convertire è

    dividi in quartine (partendo da destra)
    secondo la tabella di conversione decimale/binario (che dopo un po' impari a memoria) trasformi ogni quartina binaria in un numero esadecimale
    il numero che ti viene fuori alla fine è il tuo convertito

    fanne un'algoritmo.
    quelle sono le azioni che deve fare

    ovviamente non sarà ottimizzato come algoritmo ma magari pensandoci un po' su viene in mente un sistema che per un computer è più efficente.

    (io da malato ne ho pensato uno con le regexp... sono pazzo :rollo

    ---
    oppure ti fai una bella DLL che sarà sicuramente più veloce ed efficente e tutti a casa.
    san imente saluta

    * http://simonecingano.it *

  8. #8
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Il punto di partenza è sempre quella benedetta tabellina.

    Roby

  9. #9
    Originariamente inviato da Roby_72
    Il punto di partenza è sempre quella benedetta tabellina.

    Roby
    inevitabile... ^^
    san imente saluta

    * http://simonecingano.it *

  10. #10
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    <%
    function Hex2Bin(str)
    	Hex2Bin=""
    	for h = len(str) to 1 step -1
    		n = InStr("0123456789ABCDEF", Mid(str, h, 1)) - 1
    		for k = 1 to 4
    			Hex2Bin = Cstr(n mod 2) & Hex2Bin
    			n = int(n / 2)
    		next
    	next
    end function
    
    function Bin2Hex(str)
    	Bin2Hex=""
    	n = 1
    	b = 0
    	for h = len(str) to 1 step -1
    		b = b + cint(Mid(str, h, 1)) * n
    		n = n * 2
    		if n > 8 then
    			n = 1
    			Bin2Hex = Mid("0123456789ABCDEF", b + 1, 1) & Bin2Hex
    			b = 0
    		end if
    	next
    	if b > 0 then
    		Bin2Hex = Mid("0123456789ABCDEF", b + 1, 1) & Bin2Hex
    	end if
    end function
    %>
    Ho pero' la sensazione che tu non stia parlando di stringhe esprimenti un valore binario bensi' una stringa che puo' contenere un qualunque byte da 0 a 255... come gli eseguibili o le immagini.

    In questo caso ti consiglio la piu' standard e diffusa codifica code64 (per intenderci quella usata per gli allegati delle mail).

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.