BinaryToString

Anfängerfragen zum Programmieren mit PureBasic.
lite
Beiträge: 122
Registriert: 27.08.2012 21:08

BinaryToString

Beitrag von lite »

Hallo

Gibt es etwas vergleichbares zu BinaryToString was es in Au3 gibt auch in PB ?
Der Befehl wandelt StringA in StringB um.

StringA= 303742433041303133413444463939397C
StringB= 07BC0A013A4DF999|

Grüße
Lite
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: BinaryToString

Beitrag von ts-soft »

lite hat geschrieben:Der Befehl wandelt StringA in StringB um.
Gute Beschreibung :lol:

Es gibt verschiedene Routinen um z.B. Hex in Dezimal oder umgekehrt zu wandeln.

Code: Alles auswählen

Debug Val("$F1")
Debug Hex(241)
Genau dasselbe wie in AutoIT wird es wohl eher nicht geben, hab die Funktion aber auch nicht so recht verstanden.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: BinaryToString

Beitrag von NicTheQuick »

Das hat aber nichts mit Binary zu tun, was da gemacht wird, sondern wandelt einen Hex-String in einen normalen String um.

Code: Alles auswählen

Procedure.s HexToString(hex.s)
	Protected length.i = Len(hex)
	Protected result.s = Space(length / 2)
	Protected *c.Character = @result
	Protected i.i
	For i = 1 To length Step 2
		*c\c = Val("$" + Mid(hex, i, 2))
		*c + SizeOf(Character)
	Next
	
	ProcedureReturn result
EndProcedure

Define StringA.s, StringB.s
StringA = "303742433041303133413444463939397C"
StringB = "07BC0A013A4DF999|"

Debug HexToString(StringA)
Benutzeravatar
Shardik
Beiträge: 746
Registriert: 25.01.2005 12:19

Re: BinaryToString

Beitrag von Shardik »

Code: Alles auswählen

StringA$ = "303742433041303133413444463939397C"

For i = 1 To Len(StringA$) Step 2
  StringB$ + Chr(Val("$" + Mid(StringA$, i, 2)))
Next i

Debug StringB$ ; = "07BC0A013A4DF999|"
Nino
Beiträge: 1300
Registriert: 13.05.2010 09:26
Wohnort: Berlin

Re: BinaryToString

Beitrag von Nino »

Code: Alles auswählen

StringA$ = "303742433041303133413444463939397C"

For i = 1 To Len(StringA$) Step 2
   v = Val("$" + Mid(StringA$, i, 2))
   If v = 0
      Debug "Achtung, hier ist ein Problem!"
      StringB$ + "?"
   Else
      StringB$ + Chr(v)
   EndIf
Next i

Debug StringB$ ; = "07BC0A013A4DF999|"
:)
lite
Beiträge: 122
Registriert: 27.08.2012 21:08

Re: BinaryToString

Beitrag von lite »

Gleich soviele Lösungen, danke Jungs ihr habt mir sehr geholfen.

Manchmal versteh ich das ganze auch nicht.

Lite
Antworten