17. März 201015 j Hallo, Folgenden Sachverhalt: Ich habe einen String welchen ich mir aus einer Datei ausgelesen habe. Diesen habe ich in Hexadezimal umgewandelt. (Das ursprungsformat ist UTF- 8) Das sieht in etwa so aus: Dim hex As String readbyte = fsmsource.Read(buffer, 0, buffer.Length) 'readbyte ist ein Filestream hex = BitConverter.ToString(buffer, 0, 3) Es handelt sich hierbei immer um folgende Zeichen in Hexadezimaler ansicht: EF-BB-BF Also quasi 3 Byte So nun möchte ich aber ebenen diesen String welcher nun die hexadezimalen Zahlen enthält, wieder zurück in die UTF Zeichen konvertieren. Hat jemand eine Idee? Lg Gateway
17. März 201015 j Moin! VB ist nicht so mein Metier, aber da ich .net so gern mag hab ich mal etwas zusammengebastelt: Dim hex As String hex = "C3-A4-45" Dim characters(0 To 2) As String Dim bytes(0 To 2) As Byte characters = hex.Split("-") For element As Integer = 0 To 2 bytes(element) = Byte.Parse(characters(element), Globalization.NumberStyles.HexNumber) Next Dim convertedHex As String = System.Text.UTF8Encoding.UTF8.GetString(bytes, 0, bytes.Length)[/PHP] Zur Erklaerung: Du hast Deinen String mit Hex-Werten, den Splittest Du nach dem Trennzeichen "-". Damit bekommst Du dann ein String-Array, das die Hexcodes enthaelt. Die einzelnen Hexcodes werden dann in Bytes umgewandelt und in ein Byte-Array geschrieben. Schliesslich wird das Byte-Array in den Unicode-String gewandelt. Bearbeitet 17. März 201015 j von Pointerman
18. März 201015 j Autor Vielleicht noch eine Frage zu eben diesen Thema. Hat hier vielleicht schonmal jemand herausgefunden, wie man im .NET von einem unbekannten Text in einer Datei die jeweile Codepage rausbekommt und somit auch die richtige Kodierung wählt? Also mit den Methoden aus dem System.Text Namespace funktioniert es soweit ich weiß nicht . Rein Theoretisch könnte man diese Info ja dem Header des Textes entnehmen, nur leider ist nicht immer ein Header vorhanden und somit ist mein Lösungsansatz nicht alltagstauglich. lg und einen schönen sonnigen Tag wünsch ich noch Gateway
19. März 201015 j Hat hier vielleicht schonmal jemand herausgefunden, wie man im .NET von einem unbekannten Text in einer Datei die jeweile Codepage rausbekommt und somit auch die richtige Kodierung wählt? Also mit den Methoden aus dem System.Text Namespace funktioniert es soweit ich weiß nicht . Detecting File Encodings in .NET .NET doesn't provide a native mechanism to do this so you must do it manually using code similar to that above.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.