Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278

    [vb.net] convertire intera pagina richtextbox da esadecimale a carattere

    ciao ragazzi dovrei convertire un'intera pagina scritta in esadecimale in caratteri alfanumerici normali.

    come posso fare?

    mi consigliate di prendere i dati direttamente dalla richtextbox in cui sono e quindi convertirli...oppure salvare la richtextbox in un file di testo e poi convertire il file di testo coi caratteri esadecimali in caratteri alfanumerici?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In che senso hai una pagina di dati esadecimali?

    Cioe' hai una serie di dati scritti cosi'

    AB5B34E3B27856 ...

    oppure ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    sì esatto

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma potrebbero essere non visualizzabili ... ad esempio 030B0CFFFE ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    nono sono sicuro che sono visualizzabili come caratteri alfanumerici, perchè li ho esaminati e sono tutti caratteri alfanumerici

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Se vuoi una risposta immediata, ti posso dire come fare in C# (non dovrebbe essere difficile portare il codice in VB.NET ...) ... ma se hai problemi, dillo ...

    codice:
                string sd, sa;
                int i, j;
    
                sd = "4142434445464748494A4B4C4D4E4F505152535455565758595A";
    
                byte[] b = new byte[sd.Length / 2];
                for (i = 0, j = 0; i < sd.Length; i += 2, j++)
                    b[j] = (byte)ushort.Parse(sd.Substring(i, 2), System.Globalization.NumberStyles.HexNumber);
    
                sa = Encoding.UTF8.GetString(b, 0, b.Length);
    
                Console.WriteLine(sa);
    Considera che sd e' la stringa che contiene i dati presi direttamente dalla richtextbox.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    ho creato questo, ma non funziona:

    codice:
    Dim sd As String, sa As String
            Dim i As Integer, j As Integer
    
            sd = "6369616F"
    
            Dim b() As Byte = New Byte(sd.Length / 2) {}
            For i = 0 To i < sd.Length Step i + 2
    
                For j = 0 To sd.Length Step j + 1
    
                    b(j) = CType(UShort.Parse(sd.Substring(i, 2), System.Globalization.NumberStyles.HexNumber), Byte)
                Next
            Next
    
            sa = System.Text.Encoding.UTF8.GetString(b, 0, b.Length)
    
            RichTextBox2.Text = sa
    come mai?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Beh ... perche' due cicli for visto che te ne ho indicato uno solo?

    codice:
            Dim sd As String, sa As String
            Dim i As Integer, j As Integer
    
            sd = "6369616F"
    
            Dim b() As Byte = New Byte(sd.Length / 2) {}
            j = 0
            For i = 0 To sd.Length - 1 Step 2
                b(j) = CType(UShort.Parse(sd.Substring(i, 2), System.Globalization.NumberStyles.HexNumber), Byte)
                j = j + 1
            Next
    
            sa = System.Text.Encoding.UTF8.GetString(b, 0, b.Length)
    
            RichTextBox2.Text = sa
    o piu' semplicemente

    codice:
            Dim sd As String, sa As String
            Dim i As Integer
    
            sd = "6369616F"
    
            sa = ""
            For i = 0 To sd.Length - 1 Step 2
                sa += Chr(UShort.Parse(sd.Substring(i, 2), System.Globalization.NumberStyles.HexNumber))
            Next
    
            RichTextBox2.Text = sa

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    278
    che dire.....mille grazie!

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.