3/5 (1 avis)
Snippet vu 31 042 fois - Téléchargée 28 fois
/// <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; }
Merci pour ces beaux exemples. J'utilise ce site justement pour avoir pour un accés rapide à ce genre de bouts de code ou de classes , bien faits et trés utiles. Je promets de renvoyer la pareille avec un testeur de classes enfouies dans plusieurs dlls.
Cdlt,
Lucien
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.