コード例 #1
0
ファイル: Utility.cs プロジェクト: YHZX2013/exchange_diff
        internal static bool TryGetFileNameFromBinHex(MimePart mimePart, ref string fileName)
        {
            string text;

            using (Stream rawContentReadStream = mimePart.GetRawContentReadStream())
            {
                try
                {
                    BinHexDecoder binHexDecoder = new BinHexDecoder();
                    using (EncoderStream encoderStream = new EncoderStream(rawContentReadStream, binHexDecoder, EncoderStreamAccess.Read))
                    {
                        byte[] array = new byte[256];
                        encoderStream.Read(array, 0, array.Length);
                        text = binHexDecoder.MacBinaryHeader.FileName;
                    }
                }
                catch (ByteEncoderException)
                {
                    text = null;
                }
            }
            if (string.IsNullOrEmpty(text))
            {
                return(false);
            }
            fileName = text;
            return(true);
        }
コード例 #2
0
 internal static byte[] FromBinHexString(string s, bool allowOddCount)
 {
     if (s == null)
     {
         throw new ArgumentNullException(nameof(s));
     }
     return(BinHexDecoder.Decode(s.ToCharArray(), allowOddCount));
 }
コード例 #3
0
        public void ExpandRunLengthSequence()
        {
            file.Write(":");
            Encode(0x42, 0x90, 0x03);
            file.Write(":");
            BinHexDecoder      decoder = CreateDecoder();
            IEnumerator <byte> e       = decoder.GetBytes().GetEnumerator();

            Assert.AreEqual(0x42, Get(e));
            Assert.AreEqual(0x42, Get(e));
            Assert.AreEqual(0x42, Get(e));
            Assert.IsFalse(e.MoveNext());
        }
コード例 #4
0
        public void DecodeOnes()
        {
            file.Write(":rrrr:");
            BinHexDecoder decoder = CreateDecoder();

            foreach (byte b in decoder.GetBytes())
            {
                stm.WriteByte(b);
            }
            Assert.AreEqual(3, stm.Position);
            byte[] bytes = stm.GetBuffer();
            Assert.AreEqual(0xFF, bytes[0]);
            Assert.AreEqual(0xFF, bytes[1]);
            Assert.AreEqual(0xFF, bytes[2]);
        }
コード例 #5
0
ファイル: HexConvert.cs プロジェクト: biuken/eAnt
        public static byte[] FromBinHex(string inArray)
        {
            BinHexDecoder binHexDecoder = new BinHexDecoder();

            return(binHexDecoder.DecodeBinHex(inArray.ToCharArray(), 0, true));
        }
コード例 #6
0
ファイル: HexConvert.cs プロジェクト: sonicwang1989/lphant
 public static byte[] FromBinHex(string inArray)
 {
     BinHexDecoder binHexDecoder = new BinHexDecoder();
     return binHexDecoder.DecodeBinHex(inArray.ToCharArray(), 0, true);
 }