Une partie de notre application analyse les documents RTF et nous avons trouvé un caractère spécial qui ne se traduit pas correctement. Quand il est vu dans Word, le personnage est un elipsis (...), et il est encodé dans le RTF en tant que ('85).Comment puis-je obtenir un type de chaîne d'une valeur hexadécimale qui représente un caractère de valeur ASCII supérieur
Dans notre code vb nous avons converti l'hexagone (85) int (133), puis a fait Chr (133) pour revenir (...)
Voici le code en C# - problème est cela ne travailler pour des valeurs supérieures à 127. Des idées?
Indicatif téléphonique:
// S is Hex number!!!
return Convert.ToChar(HexStringToInt(s)).ToString();
Méthode d'assistance:
private static int HexStringToInt(string hexString)
{
int i;
try
{
i = Int32.Parse(hexString, NumberStyles.HexNumber);
}
catch (Exception ex)
{
throw new ApplicationException("Error trying to convert hex value: " + hexString, ex);
}
return i;
}
Bonne réponse, vous auriez réussi à répondre pendant que je composais la mienne. Une mise en garde, les fichiers RTF ne sont pas toujours windows 1252, ils prennent en charge un assortiment de codages, alors assurez-vous que c'est le bon codage avant de l'utiliser. – davenpcj