Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB.NET Konvertierung eines Hexadezimal Strings

Empfohlene Antworten

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

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 von Pointerman

  • 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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.