vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Swap Bytes 
Autor: Ingo Schick
Datum: 22.11.17 12:25

Hallo Zusammen,

ich sollte Strings (Hexwerte) die Bytes verdrehen. Bevor ich nun jede Menge Arbeit mit Strings usw. investiere. Wie würdet Ihr das am besten umsetzen?
Beispiele:

AA BB CC -> CC BB AA
10 21 32 -> 32 21 10
F5 50 01 -> 01 50 F5

Stringfunktionen? Oder gibt es ggf. eine fertige Funktion

Viele Grüße
Ingo

Viele Grüße
Ingo Schick

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Swap Bytes 
Autor: effeff
Datum: 22.11.17 14:43

Wo ist das Problem? Wenn Dir das als String vorliegt, splitte diesesn doch einfach mit dem Leerzeichen als Trennzeichen in ein Array und schreibe dieses von hinten nach vorne wieder mit zusätzlichen Leerzeichen zurück...

'Variable sHex mit einem Wert füllen        
Dim sHex As String = "AA BB CC"
 
'Variable sHex in ein Array aufsplitten
Dim arr() As String = sHex.Split(" ")
 
'Variable sHex leeren
sHex = ""
 
'Zählvariable initialisieren
Dim i As Integer = 0
 
'Das Array von seiner höchsten bis zur ersten Stelle durchiterieren
For i = arr.GetUpperBound(0) To 0 Step -1
'sHex neu beschreiben und zwischen den Array-Elementen wieder Leerzeichen 
' einfügen
     sHex = sHex & arr(i) & " "
Next
'Das überflüssige Leerzeichen am Ende entfernen
sHex = sHex.Trim
 
'Ausgabe in einer Meldung zu
MessageBox.Show(sHex)

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Array Reverse 
Autor: Manfred X
Datum: 22.11.17 15:14

... oder Du machst per "Split" ein Array aus den HexCodes und
verwendest die Array-Reverse-Methode für das Umkehren der Elementfolge.
Danach kannst Du die Elemente mit Join wieder zu einem String vereinen.
 Dim str As String = "AA BB CC"
 Dim arr() As String = str.Split(" "c)
 Array.Reverse(arr)
 Dim str2 As String = String.Join(" ", arr)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Teilstrings Reverse Effizient 
Autor: Manfred X
Datum: 22.11.17 15:37

Zeichenfolgen in String-Variablen sind bekanntlich im Framework fest.
  Dim str As String = "AA BB CC DD EE FF"
 
  Dim stb As New System.Text.StringBuilder(str.Length)
 
  For i As Integer = str.Length - 2 To 0 Step -3
     stb.Append(str.Substring(i, 2))
     If i > 0 Then stb.Append(" ")
  Next i
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Teilstrings Reverse Effizient 
Autor: Ingo Schick
Datum: 22.11.17 21:10

Danke an alle Es hat funktioniert!

Viele Grüße
Ingo Schick

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel