public void WriteDouble(double val) { CDRWriter writer = new CDRWriter(); writer.WriteDouble(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadDouble()); }
public void WriteSingle(float val) { CDRWriter writer = new CDRWriter(); writer.WriteSingle(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadSingle()); }
public void WriteBool(bool val) { CDRWriter writer = new CDRWriter(); writer.WriteBool(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadBool()); }
public void WriteChar(char val) { CDRWriter writer = new CDRWriter(); writer.WriteChar(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadChar()); }
public void WriteUInt16(ushort val) { CDRWriter writer = new CDRWriter(); writer.WriteUInt16(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadUInt16()); }
public void WriteInt32(int val) { CDRWriter writer = new CDRWriter(); writer.WriteInt32(val); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadInt32()); }
public static void SubscriberCallback(Zenoh.Net.Sample sample) { CDRReader reader = new CDRReader(sample.Payload); var userID = reader.ReadInt32(); var message = reader.ReadString(); Console.WriteLine("=== [Subscriber] Received : Message ({0}, {1})", userID, message); }
public void WriteString(string val) { CDRWriter writer = new CDRWriter(); writer.WriteString(val); Assert.Equal(4 + 4 + val.Length + 1, writer.GetBuffer().Length); CDRReader reader = new CDRReader(writer.GetBuffer().ToArray()); Assert.Equal(val, reader.ReadString()); }
public void CDRBEHeader() { var buf = new byte[] { 0x00, 0x00, 0x0C, 0x0D }; CDRReader reader = new CDRReader(buf); Assert.Equal(RepresentationId.CDR_BE, reader.ReprId); Assert.Equal(0x0C0D, reader.ReprOpt); Assert.False(reader.IsLittleEndian); }
public void CDRLEHeader() { var buf = new byte[] { 0x00, 0x01, 0x0A, 0x0B }; CDRReader reader = new CDRReader(buf); Assert.Equal(RepresentationId.CDR_LE, reader.ReprId); Assert.Equal(0x0A0B, reader.ReprOpt); Assert.True(reader.IsLittleEndian); }
public RiffParserDemo2() { // // Required for Windows Form Designer support // InitializeComponent(); // Initialize parser instance rp = new RiffParser(); dh = new DecodeHeader(rp); cr = new CDRReader(rp); }
public void UnsupportedHeader() { var buf = new byte[] { 0x00, 0x02, 0x0C, 0x0D }; try { CDRReader reader = new CDRReader(buf); Assert.True(false, "UnsupportedCDRRepresentation was expected"); } catch (UnsupportedCDRRepresentation) { Assert.True(true); } }
public void BasicTypesAlignment() { var buf = new byte[] { 0x00, 0x00, 0x00, 0x00, // Header 0xFF, // 1 byte to force padding 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // padding for 8-bytes alignment 0x0A, 0x0B, 0x0C, 0X0D, 0x0E, 0x0F, 0x01, 0X02, // uint64 0xFF, // 1 byte to force padding 0x00, 0x00, 0x00, // padding for 4-bytes alignment 0x0A, 0x0B, 0x0C, 0X0D, // uint32 0xFF, // 1 byte to force padding 0x00, // padding for 2-bytes alignment 0x0A, 0x0B, // uint16 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 5 bytes to force padding 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // padding for 8-bytes alignment 0x3F, 0x84, 0x7A, 0xE1, 0x47, 0xAE, 0x14, 0x7B, // double 0xFF, // 1 byte to force padding 0x00, 0x00, 0x00, // padding for 4-bytes alignment 0x3C, 0x23, 0xD7, 0x0A, // float 0xFF, // 1 byte to force padding 0x00, 0x00, 0x00, // padding for 4-bytes alignment 0x00, 0x00, 0x00, 0x0D, // "Hello World!" 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x00 }; CDRReader reader = new CDRReader(buf); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0x0A0B0C0D0E0F0102UL, reader.ReadUInt64()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0x0A0B0C0DU, reader.ReadUInt32()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0x0A0B, reader.ReadUInt16()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0.01, reader.ReadDouble()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal(0.01f, reader.ReadSingle()); Assert.Equal(0xFF, reader.ReadByte()); Assert.Equal("Hello World!", reader.ReadString()); }
private void OutCallback(Zenoh.Net.Sample sample) { // received type: rcl_interfaces/msg/Log CDRReader reader = new CDRReader(sample.Payload); // builtin_interfaces/Time stamp => int32 sec + uint32 nanosec var stamp_sec = reader.ReadInt32(); var stamp_nanosec = reader.ReadUInt32(); // uint8 level var level = reader.ReadByte(); // string name var name = reader.ReadString(); // string msg var msg = reader.ReadString(); // string file var file = reader.ReadString(); // string function var function = reader.ReadString(); // uint32 line var line = reader.ReadUInt32(); Console.WriteLine("[{0}.{1}] [{2}]: {3}", stamp_sec, stamp_nanosec, name, msg); }
public void ReadUInt64(ulong expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadUInt64()); }
public void ReadSingle(float expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadSingle()); }
public void ReadDouble(double expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadDouble()); }
public void ReadChar(char expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadChar()); }
public void ReadString(string expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadString()); }
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { String riffFile = String.Empty; String name = (String)e.Argument; bool m14 = false; if (!File.Exists(name)) { return; } FileStream fs = File.OpenRead(name); BinaryReader br = new BinaryReader(fs); byte[] hd = new byte[2]; br.Read(hd, 0, 2); if (Encoding.UTF8.GetString(hd) == "RI") { riffFile = name; } else if (Encoding.UTF8.GetString(hd) == "PK") { m14 = true; ZipInputStream zis = new ZipInputStream(File.OpenRead(name)); ZipEntry theEntry; bool d = false; while ((theEntry = zis.GetNextEntry()) != null) { String fileName; if (theEntry.Name == "content/riffData.cdr" || theEntry.Name == "content/root.dat") { fileName = Path.GetFileName(theEntry.Name); String tmp = Path.GetTempPath(); riffFile = tmp + fileName; FileStream fs1 = File.Open(tmp + fileName, FileMode.OpenOrCreate); BinaryWriter bw = new BinaryWriter(fs1); int size = 2048; byte[] data = new byte[2048]; while (true) { size = zis.Read(data, 0, data.Length); if (size > 0) { bw.Write(data, 0, size); } else { break; } } bw.Close(); fs1.Close(); zis.Close(); d = true; break; } } if (!d) { MessageBox.Show("文件格式错误!"); return; } } else { MessageBox.Show("文件格式错误!"); return; } br.Close(); fs.Close(); if (m14) { } RiffParser rp = new RiffParser(); rp.OpenFile(riffFile); CDRReader cr = new CDRReader(rp); cr.Read(); /*CDRWriter cw = new CDRWriter(); * CDRFile cf = cr.CDRFile; * cf.list = RiffConn.DelRiff<CDRbmkt>(cf.list); * //cf.list = RiffConn.DelRiff<CDRcolo>(cf.list); * cf.list = RiffConn.DelRiff<CDRsyst>(cf.list); * cw.SetCDRFile(cf); * cw.Write(name + "_1");*/ listBox1.Items.Clear(); listBox1.Items.Add("文件名:"); listBox1.Items.Add(" " + Path.GetFileName(name)); listBox1.Items.Add("文件版本:"); listBox1.Items.Add(String.Format(" CorelDraw {0:d}", cr.CDRFile.Version)); listBox1.Items.Add("保存版本:"); listBox1.Items.Add(String.Format(" CorelDraw {0:d} 子版本:{1:d}", cr.CDRFile.SVersion, cr.CDRFile.BuildID)); listBox1.Items.Add("位图数量:"); listBox1.Items.Add(String.Format(" {0:d}", cr.CDRFile.BMPCount)); listBox1.Items.Add("视图样式数量:"); listBox1.Items.Add(String.Format(" {0:d}", cr.CDRFile.ViewCount)); listBox1.Items.Add(String.Format("使用字体:数量:{0:d}", cr.CDRFile.fonts.Count)); foreach (CDRFile.Fonts f in cr.CDRFile.fonts) { listBox1.Items.Add(String.Format(" {0:1}", f.name)); } rp.CloseFile(); }
public void ReadUInt32(uint expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadUInt32()); }
public void Bool(bool expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadBool()); }
public void ReadUInt16(ushort expected, byte[] buf) { CDRReader reader = new CDRReader(buf); Assert.Equal(expected, reader.ReadUInt16()); }