Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    46

    [VB.NET] covertire codifica stringhe

    scaricando una pagina web tramite
    Dim myDatabuffer As Byte() = myWebClient.DownloadData(url)
    ottengo una matrice di byte.

    Voglio ovviamente convertirla in testo, e uso questo metodo:
    System.Text.ASCIIEncoding.ASCII.GetString (myDatabuffer)

    Funziona, pero' alcuni caratteri accentati o gli apostrofi me li converte con un quadratino.

    Come posso fare ?

    Ho provato altre soluzioni tipo
    System.Text.ASCIIEncoding.UTF7.GetString (myDatabuffer)
    ma solo alcuni caratteri migliorano..alcuni altri restano non leggibili.

    Premetto che con asp facevo cosi e tutto funzionava:
    codice:
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Fields.Append "text", 201, -1 ' text field
    rs.Open
    rs.AddNew
    rs("text").AppendChunk objXMLHTTP.responseBody
    html = rs("text")
    please help

  2. #2
    Ma scarichi il file da internet per inserirlo in un altro file?
    Se così fosse puoi anche evitare di fare la conversione in string. Basta che scrivi nel file direttamente l'array, in modo da non avere problemi di conversione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    46
    Originariamente inviato da mardok30
    Ma scarichi il file da internet per inserirlo in un altro file?
    Se così fosse puoi anche evitare di fare la conversione in string. Basta che scrivi nel file direttamente l'array, in modo da non avere problemi di conversione.
    caro mardok , grazie della risposta.
    Io converto in stringa perche poi devo spezzettarla in piu' stringhe e le varie parti le devo inserire in un database su dei campi string.

    Qualche idea?
    Grazie davvero

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    46
    Originariamente inviato da martic
    caro mardok , grazie della risposta.
    Io scarico una intera pagina html, e converto in stringa perche poi devo spezzettarla in piu' stringhe e le varie parti le devo inserire in un database su dei campi string.

    Qualche idea?
    Grazie davvero

  5. #5
    Se è una pagina html non metterla in un array di byte bensì in un array di string, visto che un file html è già string non è il caso di fagli fare conversioni inutili.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    46
    Originariamente inviato da mardok30
    Se è una pagina html non metterla in un array di byte bensì in un array di string, visto che un file html è già string non è il caso di fagli fare conversioni inutili.
    il metodo DownloadData della classe webclient restituisce la pagina come array di byte, percio' la conversione byte->stringa e' obbligata credo.
    Qui parlano del metodo downloaddata: Clicca qui

    Il problema credo sia nel formato dei caratteri usati dal sito e non nella conversione byte->string .

    ciaooo

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    prova con System.Text.Encoding e Unicode come formato (o se non va nemmeno così prova Default).
    Ans.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    46
    Originariamente inviato da ans
    prova con System.Text.Encoding e Unicode come formato (o se non va nemmeno così prova Default).
    l'unicode l'avevo gia' provato e mi dava tutti quadratini, ma non avevo provato il default che invece FUNZIONA PERFETTAMENTE !!!!

    Sei un grande amico, grazie davvero

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    ma... in vb6 e asp nel 99% dei casi usavo unicode. Cmq se default dev'essere che default sia
    Ans.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.