jag vill vända på denna grejen.
buf är stringbuilder
cur är en bokstav. X är ett nummer i en For Loop
buf.Append(((sbyte)((cur & 0xF0) >> 4)).ToString("X"));
buf.Append(((sbyte) (cur & 0x0F)).ToString("X"));
Han omvandlar 1 ascii-tecken till 2 st tecken i sk AsciiHex.
Tex: "ä"=228 (ascii) -> "E4" (asciihex)
Du behöver alltså en funktion som omvandlar 2 st tecken i Asciihex tillbaka till 1 vanligt tecken. Tyvärr så har jag ingen sån i .NET, men jag har en gammal VB-funktion som du eventuellt kan porta eller titta på:
Function AsciHexToChar(ByVal sHex As String) As Variant
Dim n As Integer, t As Integer, iTmp As Integer
Const sHexTab = "0123456789ABCDEF"
n = InStr(sHexTab, Mid(sHex, 1, 1))
iTmp = (n - 1) * 16
n = InStr(sHexTab, Mid(sHex, 2, 1))
iTmp = iTmp + (n - 1)
AsciHexToChar = Chr(iTmp)
End Function