2010-07-29 9 views
1

J'ai un formulaire avec deux zones de texte, dans un je veux montrer un fichier .txt au format texte et dans l'autre zone de texte I vouloir afficher le même texte mais en hexadécimal. Je n'ai aucune idée de comment faire cela car la programmation n'est pas un point fort de la mienne. En outre, il doit être en colonnes entières et la boîte hexadécimale devrait montrer la valeur de chaque caractère sous la forme 0xNN. Dans le cas où quelqu'un reconnaît ce I did ask a similar question plus tôt aujourd'hui, mais ont depuis progressé avec certains d'entre eux. J'utilise Visual C# Express Edition 2008 traitant évidemment de C#.Afficher un fichier texte dans deux boîtes, une en texte brut et l'autre converti en hexadécimal

Répondre

1
 StringBuilder sb = new StringBuilder(); 
     foreach (char character in File.ReadAllText("input.txt").ToCharArray()) 
     { //convert the string to array of bytes 
      sb.Append("0x"+  ///"0x" prefix 
       ((int)character). //convert char to int 
       ToString("X2")); //generate string with two hex digit. 
      sb.Append("\n");   //new line after each converted char 
     } 

     TextBox1.Text = sb.ToString(); //set text box text 
0

La façon la plus simple serait sans doute de convertir le texte à un octet [],

byte[] bytes = Encoding.ASCII.GetBytes(textFromFile); 

et utiliser BitConverter.ToString() pour construire une liste hexadécimale de l'octet [].

string hexListing = BitConverter.ToString(bytes) 
+1

Comment convertir le texte à une représentation numérique, puis à un octet []? C'est non-trivial pour un néophyte. –

+0

@Robert: FGITW - Publiez l'aperçu, puis recherchez (et rediffusez) les détails. –

Questions connexes