Example #1
0
 /// <summary>
 /// 检查字符串指定索引位置之后是否包含指定个数的十六进制字符。
 /// </summary>
 /// <param name="str">要检查十六进制字符个数的字符串。</param>
 /// <param name="index">要开始计算十六进制字符个数的起始索引。</param>
 /// <param name="maxLength">需要的十六进制字符个数。</param>
 /// <returns>如果包含指定个数的十六进制字符,则为 <c>true</c>;否则为 <c>false</c>。</returns>
 private static bool CheckHexLength(string str, int index, int maxLength)
 {
     if (index + maxLength > str.Length)
     {
         return(false);
     }
     for (int i = 0; i < maxLength; i++, index++)
     {
         if (!CharExt.IsHex(str, index))
         {
             return(false);
         }
     }
     return(true);
 }
Example #2
0
 /// <summary>
 /// 返回字符串指定索引位置之后的十六进制字符的个数。
 /// </summary>
 /// <param name="str">要获取十六进制字符个数的字符串。</param>
 /// <param name="index">要开始计算十六进制字符个数的其实索引。</param>
 /// <param name="maxLength">需要的最长的十六进制字符个数。</param>
 /// <returns>实际的十六进制字符的个数。</returns>
 internal static int GetHexLength(string str, int index, int maxLength)
 {
     if (index + maxLength > str.Length)
     {
         maxLength = str.Length - index;
     }
     for (int i = 0; i < maxLength; i++, index++)
     {
         if (!CharExt.IsHex(str, index))
         {
             return(i);
         }
     }
     return(maxLength);
 }