Introduction

This article shows you how to convert string to hexadecimal and vice versa.

I did this program for my smart Card application. Earlier, I was using visual basic coding but this time I have to change my code into C#. Usually smart card application is writing data in hex format. I do not have a good hex converter to help me do those conversions that's why I made this.

Using the code

The main code used for the conversion is from the Microsoft.VisualBasicclass. Below is the code that is used to convert a string to hexadecimal format. We can't direct convert all characters in to hexadecimal format (eg:@#$%^&*()) that's why firstly I take ASCII value of the character, and then convert ASCII value into hexadecimal format.

  1. //For this I made while loop
  2. while (Data.Length > 0)
  3. {
  4. //first I take each character using substring
  5. sValue= Data.Substring(0, 1).ToString()
  6. //then convert character into ascii.
  7. sValue= Strings.Asc(sValue)
  8. //then convert ascii value into Hex Format
  9. sValue = Conversion.Hex(sValue)
  10. //after converting remove the character.
  11. Data = Data.Substring(1, Data.Length - 1);
  12. sHex = sHex + sValue;
  13. }
Only two functions I used for this application

Data_Hex_Asc(data)

(This Function for Converting data into hex format

  1. public string Data_Hex_Asc(ref string Data)
  2. {
  3. string Data1 = "";
  4. string sData = "";
  5. while (Data.Length > 0)
  6. //first take two hex value using substring.
  7. //then convert Hex value into ascii.
  8. //then convert ascii value into character.
  9. {
  10. Data1 = System.Convert.ToChar(System.Convert.ToUInt32(Data.Substring(0, 2), 16)).ToString();
  11. sData = sData + Data1;
  12. Data = Data.Substring(2, Data.Length - 2);
  13. }
  14. return sData;
  15. }
Data_Asc_Hex(data)

(This Function for Converting hex into data )

  1. public string Data_Asc_Hex(ref string Data)
  2. {
  3. //first take each charcter using substring.
  4. //then convert character into ascii.
  5. //then convert ascii value into Hex Format
  6. string sValue;
  7. string sHex = "";
  8. while (Data.Length > 0)
  9. {
  10. sValue = Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString()));
  11. Data = Data.Substring(1, Data.Length - 1);
  12. sHex = sHex + sValue;
  13. }
  14. return sHex;
  15. }