C#编程:字符串转16进制数据以及16进制数据转字符串

废话少说,直接上代码。

先写一下字符串转16进制数据:

private static byte[] StrToHex(string str)

{

str = str.TrimStart();

str = str.TrimEnd();

char[] split = {' '};

string[] strSplit = str.Split(split);

byte[] hexByte = new byte[strSplit.Length];

for (int i= 0; i<strSplit.Length; i++)

{

try

{

hexByte[i] = Byte.Parse(strSplit[i], NumberStyles.HexNumber);

}

catch (System.Exception  ex)

{

MessageBox.Show("输入的十六进制数据格式不正确!", "错误");

}

}


return hexByte;

}


16进制转字符串,这段代码来自msdn,但有所改进:

static char[] hexDigits = {

'0',  '1',  '2',  '3',  '4',  '5',  '6', '7',

'8',  '9',  'A', 'B',  'C', 'D', 'E', 'F'};


public static string HexToString(byte[] bytes)

{

char[] chars = new char[bytes.Length*3];


for (int i=0; i< bytes.Length; i++)

{

int b = byte[i];

chars[i*3] = hexDigits[b>>4];

chars[i*3+1] = hexDigits[b&0x0F];

chars[i*3+2] = ' ';

}


return new string(chars);

}


如果你有何更好的算法,请告诉我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值