Hallo,
Ich habe einen String der wie folgt aussieht:
=?utf-8?b?QmFja3VwIEV4ZWMtTWVsZHVuZzogQXVmdHJhZyBlcmZvbGdyZWljaA==?=
dies ist ein Teil einer Betreffzeiele.
Ich möchte nun diese Zeile im Klarzext darstellen, nur leider habe ich bis jetzt überhaupt keinen Ansatz.
Ich Habe schon einiges Ausprobiert.
und auch das hier gefunden:
Spoiler anzeigen
Func Asc2Unicode($AscString, $addBOM = false)
Local $BufferSize = StringLen($AscString) * 2
Local $FullUniStr = DllStructCreate("byte[" & $BufferSize + 2 & "]")
Local $Buffer = DllStructCreate("byte[" & $BufferSize & "]", DllStructGetPtr($FullUniStr) + 2)
Local $Return = DllCall("Kernel32.dll", "int", "MultiByteToWideChar", _
"int", 0, _
"int", 0, _
"str", $AscString, _
"int", StringLen($AscString), _
"ptr", DllStructGetPtr($Buffer, 1), _
"int", $BufferSize)
DllStructSetData($FullUniStr, 1, 0xFF, 1)
DllStructSetData($FullUniStr, 1, 0xFE, 2)
If $addBOM then
Return DllStructGetData($FullUniStr, 1)
Else
Return DllStructGetData($Buffer, 1)
Endif
EndFunc
Func Unicode2Asc($UniString)
If Not isBinary($UniString) Then
SetError(1)
Return $UniString
EndIf
Local $BufferLen = StringLen($UniString)
Local $Input = DllStructCreate("byte[" & $BufferLen & "]")
Local $Output = DllStructCreate("char[" & $BufferLen & "]")
DllStructSetData($Input, 1, $UniString)
Local $Return = DllCall("kernel32.dll", "int", "WideCharToMultiByte", _
"int", 0, _
"int", 0, _
"ptr", DllStructGetPtr($Input), _
"int", $BufferLen / 2, _
"ptr", DllStructGetPtr($Output), _
"int", $BufferLen, _
"int", 0, _
"int", 0)
Local $AscString = DllStructGetData($Output, 1)
$Output = 0
$Input = 0
Return $AscString
EndFunc
Func Unicode2Utf8($UniString)
If Not IsBinary($UniString) Then
SetError(1)
Return $UniString
EndIf
Local $UniStringLen = StringLen($UniString)
Local $BufferLen = $UniStringLen * 2
Local $Input = DllStructCreate("byte[" & $BufferLen & "]")
Local $Output = DllStructCreate("char[" & $BufferLen & "]")
DllStructSetData($Input, 1, $UniString)
Local $Return = DllCall("kernel32.dll", "int", "WideCharToMultiByte", _
"int", 65001, _
"int", 0, _
"ptr", DllStructGetPtr($Input), _
"int", $UniStringLen / 2, _
"ptr", DllStructGetPtr($Output), _
"int", $BufferLen, _
"int", 0, _
"int", 0)
Local $Utf8String = DllStructGetData($Output, 1)
$Output = 0
$Input = 0
Return $Utf8String
EndFunc
Func Utf82Unicode($Utf8String)
Local $BufferSize = StringLen($Utf8String) * 2
Local $Buffer = DllStructCreate("byte[" & $BufferSize & "]")
Local $Return = DllCall("Kernel32.dll", "int", "MultiByteToWideChar", _
"int", 65001, _
"int", 0, _
"str", $Utf8String, _
"int", StringLen($Utf8String), _
"ptr", DllStructGetPtr($Buffer), _
"int", $BufferSize)
Local $UnicodeString = StringLeft(DllStructGetData($Buffer, 1), $Return[0] * 2)
$Buffer = 0
Return $UnicodeString
EndFunc
Aber das alles hilft mir nicht weiter.
Dank für eure hilfe