Comando System.IO.File.ReadAllText - Problema con codifica

di Anonimizzato15539 il
5 risposte
Salve,
Sto cercando di impratichirmi con Visual Studio. Mi son messo a seguire passo passo questo tutorial.

http://youtu.be/RqCpOykpQl

Per creare un editor testo simile a notepad. Quindi aprire il contenuto di un file e poi salvarlo.

Nel Form c'è un pulsante chiamato "btnOpen", un'altro chiamato "btnSave" e un riquadro testo chiamato "TextBox1"
____________________________________________________________________

| Imports System
| Imports System.IO
| Imports System.Text
|
| Public Class Form1
| _ Dim ContenutoFile As String
|
| _ Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
| _ _ If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
| _ _ _ ContenutoFile = System.IO.File.ReadAllText(OpenFileDialog1.FileName, System.Text.Encoding.ASCII)
| _ _ _ TextBox1.Text = ContenutoFile
| _ _ End If
| _ End Sub
|
| _ Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
| _ _ If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
| _ _ _ System.IO.File.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text)
| _ _ End If
| _ End Sub
|
| End Class
____________________________________________________________________

Il risultato è fedele a quello prodotto nel tutorial. Apre piccoli file TXT mostrando il contenuto nel TextBox, e poi puoi salvare un file nuovo salvando al suo interno il contenuto del TextBox

Il problema è che funziona solo con file di testo semplici

Se io per esempio voglio editare il contenuto di un file che contiene dei simboli complessi, ascii, ecc.. non funziona

Se per esempio volessi editare questa immagine JPEG

https://www.iprogrammatori.it/images/aziende.jp

Mi dovrebbe mostrare:

ÿØÿà JFIF d d ÿì ... e via discoorendo

E invece nulla

La parte che dice "System.Text.Encoding.ASCII" l'ho aggiunta dopo (infatti non compare nel tutorial) proprio per tentare di risolvere il problema. Effettivamente, dopo che ho aggiunto quello, se io salvo il contenuto del file letto senza farlo passare dalla TextBox

System.IO.File.WriteAllText(SaveFileDialog1.FileName, ContenutoFile)

Lui effettivamente crea un file delle stesse dimensioni del file originale (cosa che non faceva prima) ma comunque non mostra all'interno la stessa simbologia.

Al simbolo ÿ ascii(255) fa corrispondere ? (punto interrogativo)

Qualche consiglio?

5 Risposte

  • HAHAHAHAHAHAHA ... che post devo guardare? Lo tesso che ho messo io qualche giorno prima? WUAHAHAHAHAHHA

    ArgonautaWeb, FabriWare, Fabrizievole, ecc... sono sempre io.... Scusa non hai notato che il testo dell'altro post è identico a copia-incolla?

    Cmq è al dimostrazione che per chi come me smanetta con VB per hobby e che non ha una buona conoscenza dell'inglese ... non potendosi appoggiare a un forum straniero... in italia ha pochi forum da frequentare, e che le risposte spesso sono link che ti mandano a destra e sinistra
  • FabriWare ha scritto:


    sono sempre io.... Scusa non hai notato che
    Lo so ... l'ho proprio notato ... e per questo l'ho segnalato dato che in questo forum il crossposting è vietato ...

    P.S. Mi sa che sei tu che non hai notato che sono la stessa persona che ti ha risposto nell'altro forum ...
  • WUHAHAHAHAHAH .. no vabbè ... .... è vero sempre Oregon ... Quanti forum gestisci? WUAHAHAHAHHA ...
  • Non gestisco ... rispondo ...
Devi accedere o registrarti per scrivere nel forum
5 risposte