使用C#将字符串转换成十六进制以及其逆转换

使用C#将字符串转换成十六进制以及其逆转换
代码



主要转换代码来自Microsoft.VisualBasic类。下面的代码就是将字符串转换成十六进制格式。我们不能直接将所有的字符都转换成十六进制(例如:@#$%^&*()),因此我首先需要获得字符的ASCII码,然后再将ASCII码转换成十六进制。




//为此我用了一个while 循环
while (Data.Length > 0)
{




//首先用substring 来获取每一个字符
sValue= Data.Substring(0, 1).ToString()





//然后将字符转换成ascii

sValue= Strings.Asc(sValue)



//然后将ascii值转换成十六进制
sValue = Conversion.Hex(sValue)



//转换后就去掉该字符
Data = Data.Substring(1, Data.Length - 1);

sHex = sHex + sValue;

}






在这个应用中我使用了两个函数




Data_Hex_Asc(data)








这个函数负责将字符转换成十六进制

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)








这个函数负责将十六进制转换成字符

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;
}
作者:wpf之家
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/wpf123/p/2347489.html