Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[C#] CONVERSION DE CHAÎNE 'STRING' VERS CHAÎNE 'DÉCIMAL' ET RÉCIPROQUEMENT


Information sur la source

Catégorie :.NET Source .NET ( DotNet ) Classé sous : tranformation, conversion, chaine, string, decimal Niveau : Débutant Date de création : 15/07/2004 Vu : 22 175

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Un bon exemple valant mieux qu'une tonne de commentaires :

string szStr, szStr2, szStr3;

szStr = "abcdefghijklmnopqrstuvwxyz";
szStr2 = ConvertAsciiStringToHexaString (szStr);
szStr3 = ConvertHexaStringToAsciiString (szStr2);

szStr = "Unicode character Pi(\u03a0)";
szStr2 = ConvertUnicodeStringToHexaString (szStr);
szStr3 = ConvertHexaStringToUnicodeString (szStr2);
 

Source

  • /// <summary>
  • /// Convert a string like 'abcdefghijklmnopqrstuvwxyz' to decimal string like '6162636465666768696A6B6C6D6E6F707172737475767778797A'
  • /// ONLY UNICODE IN THIS FUNCTION
  • /// </summary>
  • /// <param name="_szStr">String to convert</param>
  • /// <returns></returns>
  • public string ConvertUnicodeStringToHexaString (string _szStr)
  • {
  • string szResult = String.Empty;
  • byte[] abytesText = Encoding.Unicode.GetBytes(_szStr);
  • foreach (byte a in abytesText)
  • {
  • if (a<16)
  • szResult += "0" + a.ToString ("X");
  • else
  • szResult += a.ToString ("X");
  • }
  • return szResult;
  • }
  • /// <summary>
  • /// Convert a string like '6162636465666768696A6B6C6D6E6F707172737475767778797A' to decimal string like 'abcdefghijklmnopqrstuvwxyz'
  • /// ONLY UNICODE IN THIS FUNCTION
  • /// </summary>
  • /// <param name="_szStr">String to convert</param>
  • /// <returns></returns>
  • public string ConvertHexaStringToUnicodeString (string _szStr)
  • {
  • int iOffset = 0;
  • string szResult = String.Empty;
  • byte[] abytesText = new byte [_szStr.Length /2];
  • for (int i = 0; i < _szStr.Length /2; i++)
  • {
  • abytesText [iOffset] = (byte)Int32.Parse(_szStr.Substring(i*2,2), System.Globalization.NumberStyles.HexNumber);
  • iOffset++;
  • }
  • char[] asciiChars = new char[Encoding.Unicode.GetCharCount(abytesText, 0, abytesText.Length)];
  • Encoding.Unicode.GetChars(abytesText, 0, abytesText.Length, asciiChars, 0);
  • szResult = new string(asciiChars);
  • return szResult;
  • }
  • /// <summary>
  • /// Convert a string like 'abcdefghijklmnopqrstuvwxyz' to decimal string like '6162636465666768696A6B6C6D6E6F707172737475767778797A'
  • /// ONLY ASCII IN THIS FUNCTION
  • /// </summary>
  • /// <param name="_szStr">String to convert</param>
  • /// <returns></returns>
  • public string ConvertAsciiStringToHexaString (string _szStr)
  • {
  • string szResult = String.Empty;
  • byte[] abytesText = Encoding.ASCII.GetBytes(_szStr);
  • foreach (byte a in abytesText)
  • {
  • if (a<16)
  • szResult += "0" + a.ToString ("X");
  • else
  • szResult += a.ToString ("X");
  • }
  • return szResult;
  • }
  • /// <summary>
  • /// Convert a string like '6162636465666768696A6B6C6D6E6F707172737475767778797A' to decimal string like 'abcdefghijklmnopqrstuvwxyz'
  • /// ONLY ASCII IN THIS FUNCTION
  • /// </summary>
  • /// <param name="_szStr">String to convert</param>
  • /// <returns></returns>
  • public string ConvertHexaStringToAsciiString (string _szStr)
  • {
  • int iOffset = 0;
  • string szResult = String.Empty;
  • byte[] abytesText = new byte [_szStr.Length /2];
  • for (int i = 0; i < _szStr.Length /2; i++)
  • {
  • abytesText [iOffset] = (byte)Int32.Parse(_szStr.Substring(i*2,2), System.Globalization.NumberStyles.HexNumber);
  • iOffset++;
  • }
  • char[] asciiChars = new char[Encoding.ASCII.GetCharCount(abytesText, 0, abytesText.Length)];
  • Encoding.ASCII.GetChars(abytesText, 0, abytesText.Length, asciiChars, 0);
  • szResult = new string(asciiChars);
  • return szResult;
  • }
/// <summary>
		/// Convert a string like 'abcdefghijklmnopqrstuvwxyz' to decimal string like '6162636465666768696A6B6C6D6E6F707172737475767778797A'
		/// ONLY UNICODE IN THIS FUNCTION
		/// </summary>
		/// <param name="_szStr">String to convert</param>
		/// <returns></returns>
		public string ConvertUnicodeStringToHexaString (string _szStr)
		{
			string szResult		= String.Empty;
			byte[] abytesText	= Encoding.Unicode.GetBytes(_szStr);

			foreach (byte a in abytesText)
			{
				if (a<16)
					szResult += "0" + a.ToString ("X");
				else
					szResult += a.ToString ("X");
			}
			return szResult;
		}

		/// <summary>
		/// Convert a string like '6162636465666768696A6B6C6D6E6F707172737475767778797A' to decimal string like 'abcdefghijklmnopqrstuvwxyz'
		/// ONLY UNICODE IN THIS FUNCTION
		/// </summary>
		/// <param name="_szStr">String to convert</param>
		/// <returns></returns>
		public string ConvertHexaStringToUnicodeString (string _szStr)
		{
			int		iOffset		= 0;
			string	szResult	= String.Empty;
			byte[]	abytesText	= new byte [_szStr.Length /2];

			for (int i = 0; i < _szStr.Length /2; i++)
			{
				abytesText [iOffset] = (byte)Int32.Parse(_szStr.Substring(i*2,2), System.Globalization.NumberStyles.HexNumber);
				iOffset++;
			}

			char[] asciiChars = new char[Encoding.Unicode.GetCharCount(abytesText, 0, abytesText.Length)];
			Encoding.Unicode.GetChars(abytesText, 0, abytesText.Length, asciiChars, 0);
			szResult = new string(asciiChars);

			return szResult;
		}

		/// <summary>
		/// Convert a string like 'abcdefghijklmnopqrstuvwxyz' to decimal string like '6162636465666768696A6B6C6D6E6F707172737475767778797A'
		/// ONLY ASCII IN THIS FUNCTION
		/// </summary>
		/// <param name="_szStr">String to convert</param>
		/// <returns></returns>
		public string ConvertAsciiStringToHexaString (string _szStr)
		{
			string szResult		= String.Empty;
			byte[] abytesText	= Encoding.ASCII.GetBytes(_szStr);

			foreach (byte a in abytesText)
			{
				if (a<16)
					szResult += "0" + a.ToString ("X");
				else
					szResult += a.ToString ("X");
			}
			return szResult;
		}

		/// <summary>
		/// Convert a string like '6162636465666768696A6B6C6D6E6F707172737475767778797A' to decimal string like 'abcdefghijklmnopqrstuvwxyz'
		/// ONLY ASCII IN THIS FUNCTION
		/// </summary>
		/// <param name="_szStr">String to convert</param>
		/// <returns></returns>
		public string ConvertHexaStringToAsciiString (string _szStr)
		{
			int		iOffset		= 0;
			string	szResult	= String.Empty;
			byte[]	abytesText	= new byte [_szStr.Length /2];

			for (int i = 0; i < _szStr.Length /2; i++)
			{
				abytesText [iOffset] = (byte)Int32.Parse(_szStr.Substring(i*2,2), System.Globalization.NumberStyles.HexNumber);
				iOffset++;
			}

			char[] asciiChars = new char[Encoding.ASCII.GetCharCount(abytesText, 0, abytesText.Length)];
			Encoding.ASCII.GetChars(abytesText, 0, abytesText.Length, asciiChars, 0);
				
			szResult = new string(asciiChars);
			return szResult;
		}

Conclusion

Pour tous ceux qui utilisent du cryptage (AES par exemple qui a le don de produire des chaînes avec des caractères ASCII à la con), voilà comment comment convertir une chaîne vers sa valeur décimale lisible dans n'importe quel fichier TXT.
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Conversion d'un string en XML [ par swyms ] Bonjour à tous,Comment faire pour convertir une chaine en un objet XML ?En fait, j'ai une chaine de caractère correctement formatté avec les balises q conversion [ par medbabs ] Bonjour je voudrais convertir une chaine de caractére que je récupére d'une zone text vers le type convenable(par exemple si le type est une date la Copier une String dans une Structure et vice versa [ par skirby ] Bonjour tout le monde,J'aimerais savoir comment l'on fait pour copier une chaine de caractère dans une structure mais également faire l'opération inve Manipulation de string et de char ... [ par x2bf3 ] Bonjour, je souhaiterais savoir comment l'on programme en C# ( et c# uniquement ) les choses suivantes :J'ai une chaine ( string ) definie comme suit Conversion d'un string en double [ par yabiyou ] Bonjour,Une question de débutant...J'ai un tableau de string (que j'ai récupérer en découpant un fichier grâce à votre aide). Je voudrais savoir quell Conversion heure en milliseconde [ par veridik ] Bonjour, j'utilise un timer, mais pour trouver l'interval de temps (en milliseconde) je veux r&#233;cup&#233;r&#233; l'heure du lancement de l'appli Probleme après conversion de Visual Studio 2003 à 2005 [ par EvilDef ] Je ne peux pas voir le fenetre après la conversion de mon logiciel sous VS2005, j'obtient le message : <td style="VERTICAL-ALIGN: top; LETTER-S Conversion String->Double avec Split [ par bikini42 ] Bonjour à tous!Je vous écris car j'ai un petit souci de conversion de String en Double de données provenant d'un fichier *.CSV....Malgré toutes les in conversion datetimepicker en string formaté [ par zncpo ] Bonjour,je souhaiterais pouvoir recuperer la date selectionné dans mon DateTimePicker pour la convertiren string formatéexemple : 01/05/2007 10:15:03e Conversion string to double [ par x2bf3 ] Bonjour,Je voudrais convertir cette string en double :Ex: "7.890006e+02"Le traditionnel double.parse(string) ne me permet d'avoir de resultat ...Merci


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.