Hejsan Det där är lite klurigare eftersom den sträng som returneras internt ser ut som "\\x042f\\x0020\\x0431\\x0443", d.v.s. \-tecknen är escapade vilket medför att det inte blir de teckenrefernser man vill ha. Det går inte heller att byta ut @"\x$1" mot "\x$1" eftersom \x måste följas av fyra siffror för att vara en giltig escape-sekvens. Tackar funkar fint!!Hex till text
Har en fil där jag plockar ut en rad som är hexadecimal, denna rad motsvarar text i ex grekiska alfabetet
eller arabiska mm.
Raden kan se ut på följande vis
042f002004310443
Har fått hjälp här på forumet att få det i följande format
\x042f\x0020\x0431\x0443
Genom att göra följande.
string input = "042f002004310443";
string replaced = System.Text.RegularExpressions.Regex.Replace( input, @"([0-9a-fA-F]{4})", @"\x$1" );
Provade sen att skicka in string replaced i en label.
label1.Text = replaced.toString();
Problemet är jag fortfarande inte får fram den riktiga texten i en label eller textbox. Det ser helt enkelt
bara ut på följande vis i en label \x042f\x0020\x0431\x0443. Jag trodde i min vildaste fantasi att hexvärdet skulle göras om automatisk till text .
Mvh FredricSv: Hex till text
Vad du kan göra är att ange en funktion som ska köras vid varje match och där skapa en teckenreferens som returneras som en sträng:
string input = "042f002004310443";
string replaced = System.Text.RegularExpressions.Regex.Replace( input, @"([0-9a-fA-F]{4})",
delegate( System.Text.RegularExpressions.Match match ) {
int ch = -1;
if ( int.TryParse( match.Value, System.Globalization.NumberStyles.HexNumber, null, out ch ) )
{
return new string( (char)ch, 1 );
}
else
{
return string.Empty;
}
} );
Sv:Hex till text
Hänger inte riktigt med i svängarna, är ny på det här, men funkar gör det ;-)
Mvh Fredric