ARTICLE

# How to Convert String to Hexadecimal and Vice versa

Posted by | October 31, 2006
This article shows you how to convert string to hexadecimal and vice versa. I did this program for my smart Card application.

Introduction

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.VisualBasic class. 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.

//For this I made while loop

while (Data.Length > 0)
{

//first I take each character using substring

sValue= Data.Substring(0, 1).ToString()

//then convert character into ascii.

sValue= Strings.Asc(sValue)

//then convert ascii value into Hex Format

sValue = Conversion.Hex(sValue)

//after converting remove the character.

Data = Data.Substring(1, Data.Length - 1);

sHex = sHex + sValue;

}

Ony two functions I used for this application

Data_Hex_Asc(data)

(This Function for Converting data into hex format

public string Data_Hex_Asc(ref string Data)

{

string Data1 = "";

string sData = "";

while (Data.Length > 0)

//first take two hex value using substring.

//then convert Hex value into ascii.

//then convert ascii value into character.

{
Data1 = System.
Convert.ToChar(System.Convert.ToUInt32(Data.Substring(0,
2),  16)).ToString();

sData = sData + Data1;

Data = Data.Substring(2, Data.Length - 2);

}

return sData;
}

Data_Asc_Hex(data)

(This Function for Converting hex into data )

public string Data_Asc_Hex(ref string Data)
{

//first take each charcter using substring.
//then convert character into ascii.
//then convert ascii value into Hex Format

string sValue;

string sHex = "";

while (Data.Length > 0)
{
sValue =
Conversion.Hex(Strings.Asc(Data.Substring(0, 1).ToString()));
Data = Data.Substring(1, Data.Length - 1);
sHex = sHex + sValue;
}

return sHex;
}

Article Extensions
Hey Joshy,

I rewrote the code and took out the dependency on the Microsoft.VisualBasic DLL.
This is for the C# purists out there!