代码改变世界

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

  观海看云  阅读(3338)  评论(0编辑  收藏  举报
使用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;
}
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示