Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    19

    Rappresentazione binaria di decimal

    Ciao a tutti,
    dal pc interrogo un database mssql che mi risponde con il contenuto di una tabella. Ho bisogno di decodificare i bytes che sql passa al mio pc per compilare i valori dei vari campi. Ho usato wireshark e ho trovato le stringhe inviate dal server, ma non riesco a capire come sono costruiti i valori dei campi decimal. Ho 4 campi decimal (28,13) e, sotto forma di stringa di bytes, i valori che arrivano sono questi:

    09 01 00 60 2d 24 36 0f 09 questo sarebbe 2,55
    09 01 00 80 c6 a4 7e 8d 03 questo sarebbe 1
    09 00 00 80 c6 a4 7e 8d 03 questo sarebbe -1
    09 01 00 00 8d 49 fd 1a 07 questo sarebbe 2

    il primo byte � la lunghezza del messaggio
    il secondo byte � il segno
    gli altri non riesco proprio a capire e, in rete, non ho trovato niente di chiaro.
    Qualcuno ha idea di come decodificare il messaggio?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    E' la rappresentazione interna di SQL Server. I valori sono rappresentati semplicemente senza la virgola (2,55 viene rappresentato come 255) e poi i byte vengono ruotati.

    Esempio, il valore 1 ti viene restituito così:

    00 80 c6 a4 7e 8d 03

    ruoti tutti i byte e diventa

    03 8d 7e a4 c6 80 00

    che in decimale è 1000000000000000

    Rimane il mistero del perchè tu debba andarti a fare male in questo modo...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2010
    Messaggi
    19
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    Rimane il mistero del perchè tu debba andarti a fare male in questo modo...

    Ciao.
    Capisco che possa sembrare assurdo, ma devo far parlare un plc con un database e il plc non ha nativamente gli strumenti per interpretare i dati che gli arrivano da un database. Lui vede solamente una serie di byte arrivare! Grazie ancora per la risposta!

Tag per questa discussione

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.