您的位置:首页 > Web前端 > CSS

二进制样式的字符串与byte数组互转函数示例

2017-03-08 09:06 381 查看
开发时用到的方法,记录下:

/// <summary>
/// 测试方法
/// </summary>
private void TestFun()
{
Response.Write("=================<p>");

var b = BinaryStr2ByteArray("10011010010");
var str = ByteArray2BinaryStr(b);
str = str.TrimStart('0');
Response.Write(str);

Response.Write("<p>=================");
Response.End();
}

/// <summary>
/// 二进制样式的字符串转byte数组
/// </summary>
/// <param name="binaryStr">二进制样式的字符串</param>
/// <returns></returns>
private byte[] BinaryStr2ByteArray(string binaryStr)
{
if (string.IsNullOrEmpty(binaryStr)) binaryStr = string.Empty;

List<byte> byte_List = new List<byte>();
var strL = binaryStr.Length;
if (strL == 0)
byte_List.Add(0);
else if (strL > 0 && strL <= 4)
byte_List.Add(Convert.ToByte(binaryStr, 2));
else
{
var tempStr = string.Empty;
for (var i = strL; i > 0; i = i - 4)
{
if (i - 4 > 0)
tempStr = binaryStr.Substring(i - 4, 4);
else
tempStr = binaryStr.Substring(0, i);
byte_List.Add(Convert.ToByte(tempStr, 2));
}
}

byte_List.Reverse();
return byte_List.ToArray();
}

/// <summary>
/// byte数组转二进制样式的字符串
/// </summary>
/// <param name="byteArr">byte数组</param>
/// <returns></returns>
private string ByteArray2BinaryStr(byte[] byteArr)
{
List<string> strList = new List<string>();
var bl = byteArr.Length;
if (bl == 0)
return "";
else
{
var tempStr = string.Empty;
for (var i = 0; i < bl; i++)
{
tempStr = Convert.ToString(byteArr[i], 2);
if (tempStr.Length < 4)
tempStr = tempStr.PadLeft(4, '0');
strList.Add(tempStr);
}
}

return string.Join("", strList.ToArray());
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: