BplusDotNet.xBplusTreeBytes.PrefixForByteCount C# (CSharp) Method

PrefixForByteCount() public method

public PrefixForByteCount ( string s, int maxbytecount ) : string
s string
maxbytecount int
return string
        public virtual string PrefixForByteCount(string s, int maxbytecount)
        {
            if (s.Length<1)
            {
                return "";
            }
            int prefixcharcount = maxbytecount;
            if (prefixcharcount>s.Length)
            {
                prefixcharcount = s.Length;
            }
            System.Text.Encoder encode = System.Text.Encoding.UTF8.GetEncoder();
            char[] chars = s.ToCharArray(0, prefixcharcount);
            long length = encode.GetByteCount(chars, 0, prefixcharcount, true);
            while (length>maxbytecount)
            {
                prefixcharcount--;
                length = encode.GetByteCount(chars, 0, prefixcharcount, true);
            }
            return s.Substring(0, prefixcharcount);
        }