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;
            }

  • 相关阅读:
    centos7 双网卡设置(先NAT和后桥接)
    centos7 nginx搭建及其反向代理
    centos7 出现please make your choice from 1 to enter..
    centos7 keepalive双机热备~
    多线程【转】
    多进程的基本使用--multiprocessing 【转】
    http--一次完整的HTTP事务是怎样一个过程?【转】
    【转】Python操作MongoDB
    文件操作
    Log4j 日志操作包配置详解
  • 原文地址:https://www.cnblogs.com/bruceleeliya/p/1631422.html
Copyright © 2011-2022 走看看