Пример #1
0
        public static string OctetsToSeptetsStr(this byte[] data)
        {
            if (data == null)
            {
                return(string.Empty);
            }
            string str   = string.Empty;
            string s     = string.Empty;
            int    index = 0;

            while (index < data.Length)
            {
                string str3 = ExtensionDataType.IntToBinary(data[index], 8);
                string str4 = string.Empty;
                string str5 = str3.Substring((index % 7) + 1, 7 - (index % 7));
                if ((index != 0) && ((index % 7) != 0))
                {
                    str4 = str5 + s;
                }
                else
                {
                    if (index != 0)
                    {
                        str = str + ((char)ExtensionDataType.BinaryToInt(s));
                    }
                    str4 = str5;
                }
                s   = str3.Substring(0, (index % 7) + 1);
                str = str + ((char)ExtensionDataType.BinaryToInt(str4));
                index++;
            }
            if (((index != 0) && ((index % 7) == 0)) && (s != "0000000"))
            {
                str = str + ((char)ExtensionDataType.BinaryToInt(s));
            }
            return(str);
        }
Пример #2
0
        public static byte[] SeptetsToOctetsInt(this string data)
        {
            ArrayList list = new ArrayList();
            string    s    = string.Empty;

            for (int i = 0; i < data.Length; i++)
            {
                string str2 = ExtensionDataType.IntToBinary((byte)data[i], 7);
                if ((i != 0) && ((i % 8) != 0))
                {
                    string str4 = str2.Substring(7 - (i % 8)) + s;
                    list.Add(ExtensionDataType.BinaryToInt(str4));
                }
                s = str2.Substring(0, 7 - (i % 8));
                if ((i == (data.Length - 1)) && (s != string.Empty))
                {
                    list.Add(ExtensionDataType.BinaryToInt(s));
                }
            }

            byte[] array = new byte[list.Count];
            list.CopyTo(array);
            return(array);
        }