Tag: 二进制

如何读取字节和字符串的混合文件

我有一个带有大量字符串行和部分字节编码数据的混合文件。 例: –Begin Attach Content-Info: /Format=TIF Content-Description: 30085949.tif (TIF File) Content-Transfer-Encoding: binary; Length=220096 II*II* Îh ÿÿÿÿÿÿü³küìpsMg›Êq™Æ™Ôd™‡–h7ÃAøAú áùõ=6?Eã½/ô|û ƒú7z:>„Çÿý<þ¯úýúßj?å¿þÇéöûþ“«ÿ¾ÁøKøÈ%ŠdOÿÞÈGÈù#ä|’ò:#ä|Š”:#¢:;ˆèŽˆèʤV’ÑÑÑÑÑÑÑÑÑçIþ×o(¿zHDDDDDFp’.Ñ:ˆR:aAràÁ¬LˆÈù!ÿÿï[ÿ¯Äàiƒ”VƒDÇ)Ê6PáÈê$9C”9C†‡CD¡pE@¦œÖ{i~Úý¯kköDœ4ÉU”8`ƒt!l2G –End Attach– 我尝试用streamreader读取文件: string[] lines = System.IO.File.ReadAllLines(@”C:\Users\Davide\Desktop\20041230000D.xmm”) 我逐行读取文件,当行等于“Content-Transfer-Encoding:binary; Length = 220096”时,我读取所有后续行并写入“文件名”(在本例中为30085949.tif)文件。 但我正在读字符串,而不是字节数据和结果文件已损坏(现在我尝试使用tiff文件)。 对我有什么建议吗? 解决方案感谢您的回复 我采用了这个解决方案:我构建了一个LineReader扩展BinaryReader: public class LineReader : BinaryReader { public LineReader(Stream stream, Encoding encoding) : base(stream, encoding) { } public int currentPos; private StringBuilder stringBuffer; […]

为遗传算法表示二进制基因组的合理方法是什么?

我之前的问题是缺乏经验而且基于一个假设。 现在我更聪明了。 (把1和0放在一个字符串里?Pah!我嘲笑这个建议!) 我的问题是, 我应该如何编码我的基因组 ? 在纸面上,它们看起来像这样: 01010011010110010 17位,用于编码(在某些情况下单独地,在某些情况下作为组)要测试的参数。 要求是: 需要可扩展。 目前可能有17个,但随着选项的添加,删除或修改范围,这可能会增长/缩小。 每个位都需要单独翻转,以表示点突变。 理想情况下,应该很容易取两个基因组的最后X%并将它们切换(代表交叉)。 必须有一种直接用明文表示基因组的方法。 这里强调的是方便而不是人类的可译性。 (想想URL缩短器。) 有人有什么好主意吗? (如果它有用,我正在使用C#。)

二进制添加2个值表示为字符串

我有两个字符串: string a = “00001”; /* which is decimal 1 I’ve converted with next string: string a = Convert.ToString(2, 2).PadLeft(5, ‘0’); */ string b = “00010”; 我想在两者之间执行二进制加法,所以答案将是00011(3)。

二进制搜索自定义类型的数组

我有一个对象数组A,每个对象都有公共字段Value(double),它在0和1之间有随机的双精度数.A按此字段排序。 我创建双随机= 0.25。 现在我想找到A中的第一个对象,其中包含A [index] .Value> = random。 我可以用某种方式使用int index = Array.BinarySearch()吗?

使用DataContractJsonSerializer在.net中反序列化json base64二进制文件

嘿,我有一个问题,使用wcf datacontract将base64 json反序列化回.net对象…. 我有这个反序列化: public static T FromJSON( this string json ) { using ( MemoryStream ms = new MemoryStream(ASCIIEncoding.Default.GetBytes(json)) ) { DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); return (T)ser.ReadObject(ms); } } 并且…我的模型课中有这个…… [DataMember] [Column(AutoSync = AutoSync.Always, DbType = “rowversion not null”, CanBeNull = false, IsDbGenerated = true, IsVersion = true, UpdateCheck = UpdateCheck.Never)] public byte[] […]

在XML文件中包含二进制数据

我们需要在xml文件中上传附件(例如word文档)。 有没有办法附上这个? 任何使用c#的示例代码都将受到赞赏。

使用FileStream在C#中打开文件

我正在尝试打开我计划转换为hex的二进制文件但是我遇到了通过FileStream读取文件的问题, private void button1_Click(object sender, EventArgs e) { openFD.Title = “Insert a BIN file”; openFD.InitialDirectory = “C:”; // Chooses the default location to open the file openFD.FileName = ” “; // Iniitalizes the File name openFD.Filter = “Binary File|*.bin|Text File|*.txt”; // FIlters the types of files allowed to by chosen if (openFD.ShowDialog() != DialogResult.Cancel) { […]

C#:将值写入二进制(.bin)文件格式

所以我要说我有以下价值观: HEADER01 48 45 41 44 45 52 30 31 06/17/14 30 36 2F 31 37 2F 31 34 1.0 31 2E 30 0x0000 00 0x0027 27 0x0001 01 0x0001 01 0x0001 01 0x0001 01 0x0028 28 192 C0 168 A8 1 01 1 01 前3个值是STRINGS,应转换为ASCII HEX值,然后写入.bin文件 接下来的7个值是HEX,应该在.bin文件中写入AS-IS 最后4个值是INTEGERS,应该转换为HEX,然后写入.bin文件 OUTPUT(.bin)文件应如下所示: 00000000 48 45 41 44 […]

在c#中编码和解码是否安全?

在c#中,我可以通过Encoding.UTF8.GetString()编码二进制数据,然后通过binary = Encoding.UTF8.GetBytes()将其转换回来。 我希望结果在任何情况下都应该是我原来的二进制数据 – 没有例外。 但无论如何这是真的吗? 或者它取决于UTF8字符集的特定行为? 或者我应该更好地使用Encoding.ASCII.GetString()和Encoding.ASCII.GetBytes() ? 如果有人知道Encoding究竟做了什么(它如何处理特殊字符或特殊字节)那么请给我建议。

将double值转换为二进制值

如何将double值转换为二进制值。 我有一些像这样的价值125252525235558554452221545332224587265我想将其转换为二进制格式。所以我保持双倍然后尝试转换为二进制(1和0)..我正在使用C#.net