zoukankan      html  css  js  c++  java
  • Indexof String By Byte[]


            
    /// <summary>在字节数组里搜索字符串key第一次出现的位置
            
    /// </summary>
            
    /// <param name="b1">字节数组</param>
            
    /// <param name="key">字符串</param>
            
    /// <returns>搜索为空返回-1</returns>
            public static int BytesIndexOf(byte[] b1, string key)
            {
                
    byte[] keyByte = System.Text.Encoding.Default.GetBytes(key);

                
    for (int i = 0; i < b1.Length; i++)
                {
                    
    if (b1[i] == keyByte[0&& i + keyByte.Length < b1.Length)
                    {
                        
    bool tag = true;
                        
    for (int find = 1; find < keyByte.Length - 1; find++)
                            
    if (b1[i + find] != keyByte[find]) tag = false;
                        
    if (tag) return i;
                    }
                }
                
    return -1;
            }


            
    /// <summary>在字节数组里从指定位置开始搜索字符串key第一次出现的位置
            /// </summary>
            
    /// <param name="b1">字节数组</param>
            /// <param name="start">开始搜索位置</param>
            /// <param name="key">字符串</param>
            /// <returns>搜索为空返回-1</returns>
            public static int BytesIndexOf(byte[] b1, int start, string key)
            {
                
    byte[] keyByte = System.Text.Encoding.Default.GetBytes(key);

                
    for (int i = start; i < b1.Length; i++)
                {
                    
    if (b1[i] == keyByte[0&& i + keyByte.Length < b1.Length)
                    {
                        
    bool tag = true;
                        
    for (int find = 1; find < keyByte.Length - 1; find++)
                            
    if (b1[i + find] != keyByte[find]) tag = false;
                        
    if (tag) return i;
                    }
                }
                
    return -1;
            }

  • 相关阅读:
    Linux查看文件被哪个进程占用
    命令行启动rstudio server
    Spring Boot配置文件及多环境配置
    Spring Boot yml配置文件
    js实现自定义概率抽奖算法
    Flutter之adb: failed to install apk的解决方法
    Flutter之不简单的搜索条
    git操作之commit规范
    Flutter之毛玻璃效果的实现
    固定定位下div水平居中
  • 原文地址:https://www.cnblogs.com/bruceleeliya/p/1631422.html
Copyright © 2011-2022 走看看