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); }
internal static byte[] FromBinHexString(string s, bool allowOddCount) { if (s == null) { throw new ArgumentNullException(nameof(s)); } return(BinHexDecoder.Decode(s.ToCharArray(), allowOddCount)); }
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()); }
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]); }
public static byte[] FromBinHex(string inArray) { BinHexDecoder binHexDecoder = new BinHexDecoder(); return(binHexDecoder.DecodeBinHex(inArray.ToCharArray(), 0, true)); }
public static byte[] FromBinHex(string inArray) { BinHexDecoder binHexDecoder = new BinHexDecoder(); return binHexDecoder.DecodeBinHex(inArray.ToCharArray(), 0, true); }