我有一个可以是十六进制或Base64的字符串值。我怎么能识别它是hexa还是base64。字符串必须是其中之一,但我不知道哪一个。如果可能,没有正则表达式可以解决性能问题。
编辑:我尝试了这个,但我不知道这是真的方法吗?和常规ex会导致一些性能问题。
return isHexString(data) ? ConvertHextoByte(data) : ConvertBase64toByte(data);
public bool isHexString(string test)
{
return System.Text.RegularExpressions.Regex.IsMatch(test, @"\A\b[0-9a-fA-F]+\b\Z");
}