|
Trouver une ressource
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
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.
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
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écupéré 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
|
Téléchargements
Logiciels à télécharger sur le même thème :
|