tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
255
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Hallo,
    ich habe das Problem das ich in einigen Daten Strings umlaute habe, und wenn diese dann verglichen werden sollen kann das Wort nicht gefunden werden weil es halt anders geschrieben ist hier ein Beispiel "Kirschblüte", ich habe nun die Funktion die die Daten Ausliest so geändert:

    Code :
    1
    2
    3
    4
    
            public string Name
            {
               get { return Reader.ReadASCIIString(Wort); }
            }

    Meine Frage:
    wie kann ich dies so machen das es Statt Kirschblüte, Kirschblüte zurück gibt?
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Moin,

    vermutlich musst Du ASCII nach ANSI konvertieren ...

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Diese Funktion besitzt meine *.dll leider nicht, ist es nicht möglich das return zu Convertieren mit Hilfe von Encoding.ASCII.GetString(return)?
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Du müßtest erstmal feststellen welches Encoding in der Quelle verwendet wird.

    Da der Umlaut durch 2 Zeichen in ASCII kodiert ist und die anderen Buchstaben nicht, handelt es sich offenbar um ein Multi-Byte-Encoding, evtl. UTF-8?

    Dann müßtest du von dem Reader eben auch in dem entsprechenden Encoding einlesen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Danke für den Tipp, aber so wie ich es Versuche klappt es nicht

    hier der Versuch:
    Code :
    1
    2
    3
    4
    
            public string Name
            {
    get { return Encoding.UTF8.GetString(Reader.ReadASCIIString(Wort)); }
            }

    Fehlermeldung:
    Argument 1: cannot convert from 'string' to 'byte[]
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    Danke für den Tipp, aber so wie ich es Versuche klappt es nicht
    So kann es auch nicht klappen. Was ist denn Reader für ein Typ?

    Kannst du denn nicht einfach ein byte[] von dem Reader lesen?

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    leider beinhaltet die *.dll auch das nicht , wäre echt besser wenn man das Return noch bearbeiten könnte.
     

  8. #8
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von CrimeTime89 Beitrag anzeigen
    leider beinhaltet die *.dll auch das nicht , wäre echt besser wenn man das Return noch bearbeiten könnte.
    Was ist das denn für eine DLL? Kannst du die nicht ändern?

    Allein der Name der Methode ReadASCIIString ist schonmal irreführend, da ASCII ein 7 Bit Encoding ist und dann nicht soetwas rauskommen kann wie "Kirschblüte".

    Offenbar wurden die Zeichen mit dem Encoding CP1252 (bzw. iso-8859-1 oder iso-8859-15) gelesen, welches vermutlich einfach die Standard ANSI Code Page sein dürfte.
    Code csharp:
    1
    2
    3
    4
    5
    
    get { return Encoding.UTF8.GetString(
        Encoding.Default.GetBytes(
          Reader.ReadASCIIString(Wort)
        )
    )

    Gruß
    CrimeTime89 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  9. #9
    CrimeTime89 CrimeTime89 ist offline Mitglied Silber
    Registriert seit
    May 2009
    Beiträge
    54
    Super Danke dir nun sind die Umlaute Richtig
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. Antworten: 0
    Letzter Beitrag: 06.10.04, 14:03
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29