none
Excel: Encodierung eines Textes aus einer Zelle - Zeichen werden falsch interpretiert RRS feed

  • Frage

  • using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; using Excel = Microsoft.Office.Interop.Excel; using Office = Microsoft.Office.Core; using Microsoft.Office.Tools.Excel; using System.IO; namespace ExcelAddIn1 { public partial class PerSpec { public int Generate(string path) { FileStream fs; byte[] byteData = null; fs = new FileStream(path +"x.ini", FileMode.Create); string value = "BNC_µC_Reset_2?"; byteData = Encoding.ASCII.GetBytes(value); fs.Write(byteData, 0, byteData.Length); //Writes the following text line into the file: //BNC_?C_Reset_2? } } }

    In der Funktion Encoding.ASCII.GetBytes wird das Zeichen 'µ' statt in ASCII-Dezimal 181 in ASCII-Dezimal 63 übersetzt.

    Muss noch irgendetwas beim Encodieren beachtet werden?



    • Bearbeitet vsuchov Mittwoch, 24. Juli 2013 13:25
    Mittwoch, 24. Juli 2013 12:43

Antworten

  • Encoding.ASCII.GetBytes gibt nur 128 Zeichen mit 7-Bit Kodierung aus. Es muss die Encoding.Default Funktion genutzt werden (ANSI 8-Bit Kodierung).

    • Als Antwort markiert vsuchov Donnerstag, 25. Juli 2013 13:31
    Donnerstag, 25. Juli 2013 13:30

Alle Antworten

  • Encoding.ASCII.GetBytes gibt nur 128 Zeichen mit 7-Bit Kodierung aus. Es muss die Encoding.Default Funktion genutzt werden (ANSI 8-Bit Kodierung).

    • Als Antwort markiert vsuchov Donnerstag, 25. Juli 2013 13:31
    Donnerstag, 25. Juli 2013 13:30
  • Hallo vsuchov,

    Mit Encoding.Default funktioniert es?

    Gruss,

    Ionut

    Donnerstag, 25. Juli 2013 13:55
    Moderator
  • Hallo Ionut,

    ja mit Encoding.Default funktioniert es.

    Gruß,

    vsuchov

    Freitag, 26. Juli 2013 06:04