代码拉取完成,页面将自动刷新
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSharpSM
{
internal class HexUtils
{
private const string pattern = "^[a-f0-9]+$";
public static bool isHex(string value)
{
if (null == value)
{
return false;
}
return System.Text.RegularExpressions.Regex.IsMatch(value, pattern);
}
public static byte[] decode(String str)
{
if (null == str)
{
return null;
}
if (isHex(str))
{
return hexStrToByte(str);
}
return Org.BouncyCastle.Utilities.Encoders.Base64.Decode(str);
}
public static byte[] hexStrToByte(String hexStr)
{
if ((null == hexStr) || (hexStr.Length == 0))
{
return null;
}
char[] hexData = hexStr.ToCharArray();
int len = hexData.Length;
if ((len & 0x1) != 0)
{
throw new SystemException("Odd number of characters.");
}
byte[] out1 = new byte[len >> 1];
int i = 0;
for (int j = 0; j < len; i++)
{
int f = toDigit(hexData[j], j) << 4;
j++;
f |= toDigit(hexData[j], j);
j++;
out1[i] = ((byte)(f & 0xFF));
}
return out1;
}
private static int toDigit(char ch, int index)
{
int digit = Convert.ToInt32(ch.ToString(), 16);
//int digit = Character.digit(ch, 16);
if (digit == -1)
{
throw new SystemException("Illegal hexadecimal character " + ch + " at index " + index);
}
return digit;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。