Je sais comment convertir des hexadécimaux en entiers lorsque je n'ai qu'un seul caractère hexadécimal. mais je reçois une chaîne de deux caractères.hexadécimal en entier
Je suis convertir les caractères en hexadécimal avec:
String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()))
permet donc alors dire que j'ai 01, et 3f que mes deux personnages de longueur. comment suis-je censé convertir ceux-ci en nombre entier? j'ai essayé de faire
int length = int.Parse("013f", System.Globalization.NumberStyles.AllowHexSpecifier);
mais apparemment c'est incorrect. J'ai même pris les valeurs de ces deux, Concat'd les ensemble, et ensuite essayé de les analyser .. ce n'était évidemment pas juste
je fais quelque chose de mal en essayant d'analyser ces deux hexadécimaux dans une longueur, ou est le serveur im obtenir l'information d'utiliser un système de longueur non standard. parce que je peux obtenir les bonnes longueurs quand le premier caractère est 00, comme 0001 ou quelque chose. Im juste pas sûr de quand j'ai deux caractères de longueur.
EDIT: après quelques essais et erreurs, la valeur attendue est 491
Numéro de mise à jour deux:
Fondamentalement, le serveur me fournit une longue chaîne de deux caractères, qui vous indique la longueur des données suivantes.
Les deux caractères de cet attribut spécifique sont 01 et 3f. les données suivantes sont 491 caractères de long, qui, pour autant que je peux voir, n'a aucun rapport avec 013f quoi-si-jamais, mais je sais qu'il y en a un quelque part, parce qu'une autre application utilise exactement les mêmes données mais en ressortant résultats.
quelle valeur obtenez-vous pour la longueur? –
Qu'est-ce qui vous fait penser que ce code est incorrect? Il renvoie 319, qui est la représentation décimale de 0x013f –
Pouvez-vous nous fournir plus de données s'il vous plaît? Sinon, ** 1) ** Covert to hex, ** 2) ** Permuter les deux derniers chiffres, ** 3) ** Ajouter 100 – Pedery