写入整型25   文件在MiniHex中显示

写入字符串I am happy
0A 6D -
6D - 这一行数据是C#把字符串转换为16进制形式
不知道为啥用MiniHex打开多了个0A
写入空""
在ASCII码中16进制00代表空字符
写入空格 " "
在ASCII码中16进制20代表空格. 01代表标题开始
string s = " AAA BBB CCC";
写入后
0C - 0C表示换页键;20表示空格
string s = "AAA BBB CCC";
写入后
0B 0B表示垂直制表符 20表示空格
string s = "A AA BBB CCC";
写入后
0C 0C表示换页键;20表示空格
string s = "AA A BBB CCC";
写入后
0C 0C表示换页键;20表示空格(还0C开头)
表示收到通知.
 private void button1_Click(object sender, EventArgs e)
{
BinaryWriter bw;
BinaryReader br;
//字符串到16进制
string s = "I have";
string sHex = "";
byte[] sbytes = Encoding.Default.GetBytes(s);
for (int i = ; i < sbytes.Length; i++)
{
sHex += sbytes[i].ToString("X2") + " ";
}
//整型到16进制
int i25 = ;
string i25Hex = "";
i25Hex = i25.ToString("X2");
//浮点数到16进制
double d = 3.14157;
string dHex = "";
//dHex = d.ToString("X2");//报错
byte[] dbytes = Encoding.Default.GetBytes(d.ToString()); for (int i = ; i < dbytes.Length; i++)
{
dHex += dbytes[i].ToString("X2") + " ";
} bool b = true; string bHex = ""; //create the file bw = new BinaryWriter(new FileStream("mydata", FileMode.Create)); //创建文件 bin目录下 //writing into the file
//bw.Write(i25);//写入1个25
// bw.Write(d);
// bw.Write(b);
bw.Write(s);//写入一个字符串
bw.Close();
MessageBox.Show("ccc"); //写入'二进制'完成
//reading from the file
br = new BinaryReader(new FileStream("mydata", FileMode.Open));//在这里打个断点, i25 = br.ReadInt32(); d = br.ReadDouble(); b = br.ReadBoolean(); s = br.ReadString(); br.Close(); }

一脸懵逼....... 0A 0B 0C 06  什么鬼

1个字节8位  最大10进制数  最小值是-

    =  (在0000   1111中是255)在( 1111中是-)
=
=
= -
= -
= -
2个字节(1个字)16位 max
=
2个字32位 (1个字=2个字节)
= 10位数
4个字64位 = 19位数
int -> System.Int32 (整型,占 字节,表示 位整数,范围 -,,, 到 ,,,)

1个字节8位  最大10进制数 127 最小值是-128

0000 0000

1111 1111   = 255 (在0000 0000 1111 1111中是255)在(1111 1111中是-1)

1111 1110   = 254

0111 1111   = 127

1000 0000   = -128

1000 0001   = -127

1000 0010   = -126

2个字节(1个字)16位 max

0111 1111 1111 1111 = 32767

2个字32位 (1个字=2个字节)

0111 1111 1111 1111  1111 1111 1111 1111 = 2147483647    10位数

4个字64位

0111 1111 1111 1111  1111 1111 1111 1111

1111 1111 1111 1111  1111 1111 1111 1111 = 9223372036854775807  19位数

int -> System.Int32 (整型,占 4 字节,表示 32 位整数,范围 -2,147,483,648 到 2,147,483,647)

C# 创建二进制文件并写入
BinaryWriter bw = new BinaryWriter(new FileStream("mydata", FileMode.Create));
//bw.Write(i25);//写入1个25
// bw.Write(d);
// bw.Write(b);
bw.Write(s);//写入一个字符串
bw.Close(); C# 字节数组到字符串
public static string ByteArrayToString(byte[] ba)
{
string hex = BitConverter.ToString(ba);
return hex.Replace("-", "");
}
string str = System.Text.Encoding.Default.GetString(byteArray) C# 数组的创建
byte[] bytes = new byte[] { 0x01, 0x02, 0x03 };//直接赋值
byte[] bytes = new byte[];//每个值为0
byte[] bytes = { }; C# 读取二进制文件
BinaryReader br = new BinaryReader(new FileStream("mydata.pdf", FileMode.Open));
// var A0 =br.ReadByte(); //读取一个字节(第一个FF(25)(10进制)37)
byte[] bytes = new byte[];//每个值为0
for (int i = ; i < bytes.Length;i++ ) //循环读取多个字节
{
bytes[i] = br.ReadByte();
}
//读取1000字节
byte[] bytes = br.ReadBytes(); C# 读取二进制文件,从指定位置读取, 和读取到最后
br.BaseStream.Seek(, SeekOrigin.Begin);// 定位到第6236060个字节
var test = br.BaseStream.Length - br.BaseStream.Position;//总长度-当前位置, 可能是读取到最后
byte[] bytes = br.ReadBytes((int)test);
while (br.BaseStream.Position < br.BaseStream.Length)
{
// bytes[i] = br.ReadByte(); //读取到最后
}
using (BinaryReader br = new BinaryReader(fs))
{
while (br.PeekChar() > -)
{
// bytes[i] = br.ReadByte(); //读取到最后
}
}

C# 创建二进制文件并写入

BinaryWriter
bw = new BinaryWriter(new FileStream("mydata", FileMode.Create));

//bw.Write(i25);//写入1个25

//
bw.Write(d);

//
bw.Write(b);

bw.Write(s);//写入一个字符串

bw.Close();

C# 字节数组到字符串

public
static string ByteArrayToString(byte[] ba)

{

string
hex = BitConverter.ToString(ba);

return
hex.Replace("-", "");

}

string
str = System.Text.Encoding.Default.GetString(byteArray)

C# 数组的创建

byte[]
bytes = new byte[] { 0x01, 0x02, 0x03 };//直接赋值

byte[]
bytes = new byte[10];//每个值为0

byte[]
bytes = { };

C# 读取二进制文件

BinaryReader
br = new BinaryReader(new FileStream("mydata.pdf", FileMode.Open));

//
var A0 =br.ReadByte(); //读取一个字节(第一个FF(25)(10进制)37)

byte[]
bytes = new byte[1000];//每个值为0

for
(int i = 0; i < bytes.Length;i++ ) //循环读取多个字节

{

bytes[i]
= br.ReadByte();

}

//读取1000字节

byte[]
bytes = br.ReadBytes(1000);

C# 读取二进制文件,从指定位置读取, 和读取到最后

br.BaseStream.Seek(6236060,
SeekOrigin.Begin);// 定位到第6236060个字节

var test = br.BaseStream.Length -
br.BaseStream.Position;//总长度-当前位置,  可能是读取到最后

byte[]
bytes = br.ReadBytes((int)test);

while (br.BaseStream.Position < br.BaseStream.Length)

{

//    bytes[i] = br.ReadByte(); //读取到最后

}

using
(BinaryReader br = new BinaryReader(fs))

{

while
(br.PeekChar() > -1)

{

//    bytes[i] = br.ReadByte(); //读取到最后

}

}

C# 写入二进制文件的更多相关文章

  1. TypeError: write() argument must be str, not bytes报错原因及Python3写入二进制文件方法

    Python2随机写入二进制文件: with open('/python2/random.bin','w') as f: f.write(os.urandom(10)) 但使用Python3会报错: ...

  2. 使用C++将OpenCV中Mat的数据写入二进制文件,用Matlab读出

    在使用OpenCV开发程序时,如果想查看矩阵数据,比较费劲,而matlab查看数据很方便,有一种方法,是matlab和c++混合编程,可以用matlab访问c++的内存,可惜我不会这种方式,所以我就把 ...

  3. Python中str类型的字符串写入二进制文件时报TypeError错的处理方式

    在用二进制模式打开文件情况下,写入一个str对象时报错:TypeError: a bytes-like object is required, not 'str' 出现该问题是因为Python严格区分 ...

  4. C# 将long类型写入二进制文件用bw.Write(num);将其读出用long num= br.ReadInt64();

    理由: 因为long类型是 System.Int64 (长整型,占 8 字节,表示 64 位整数,范围大约 -(10 的 19) 次方 到 10 的 19 次方) 而long BinaryReader ...

  5. 将图片写入二进制文件,再从二进制文件还原图片(c++)

    #include "string" #include "iostream" #include "fstream" using namespa ...

  6. c++读取list.txt中每行的字符串以及写入二进制文件

    #include <fstream> #include <fstream> string path = ""; FILE* fp = fopen(path. ...

  7. python string写入二进制文件——直接wb形式open file,再write string即可

    4 down vote accepted You misunderstood what \xhh does in Python strings. Using \x notation in Python ...

  8. [转载:]Fortran 二进制文件读写

    一些朋友总是咨询关于二进制文件的读写和转化.这里就我自己的理解说一说. 一).一般问题 二进制文件与我们通常使用的文本文件储存方式有根本的不同.这样的不同很难用言语表达,自己亲自看一看,理解起来会容易 ...

  9. Python_struct模块操作二进制文件

    ''' 使用struct模块写入二进制文件 ''' import struct n=130000000 x=96.45 b=True s='a1@中国' sn=struct.pack('if?',n, ...

随机推荐

  1. cxf 和 httpclient 客户端调用 webservice 接口

    一.cxf 生成 webservice 客户端 1.接口路径 http://ws.webxml.com.cn/WebServices/WeatherWS.asmx 2.进入你需要放置 webservi ...

  2. 基于Ubuntu系统的Tomcat部署项目

    第一步.拿到项目war包 第二步.上传到服务器/var/lib/tomcat8/webapps/ROOT目录下 第三步.使用命令解压war包 jar -xvf star1.0.0.war 第三步.重启 ...

  3. MYSQL 源码

    http://www.cnblogs.com/wingsless/tag/MySQL/

  4. 动态配置 JBOSS ( eap 6.2 ) 数据源

    操作环境 windows + jboss eap 6.2 + MyEclipse 10.0 项目用的是jboss eap 6.2,作为Red公司升级后的eap稳定版. 相比之前的 AS 系列,不管是安 ...

  5. GDUT Krito的讨伐(bfs&amp;&amp;优先队列)

    题意 Description Krito最终干掉了99层的boss,来到了第100层. 第100层能够表示成一颗树.这棵树有n个节点(编号从0到n-1),树上每个节点可能有非常多仅仅怪物. Krito ...

  6. MyBatis对数据库的增删改查操作,简单演示样例

    之前一直有用Hibernate进行开发.近期公司在使用Mybatis.依据网上的演示样例,做了一个简单的Demo,以便日后复习 使用XMl方式映射sql语句 整体结构例如以下图 watermark/2 ...

  7. poj 1664 放苹果 (划分数)

    题意:中文题目,不解释... 题解: 第一种方法是暴力深搜:枚举盘子1~n放苹果数量的所有情况,不需要剪枝:将每次枚举的情况,即每个盘的苹果数量,以字典序排序,然后存进set里 以此去重像" ...

  8. 熊猫猪新系统測试之中的一个:Windows 10 技术预览版

    话说本猫不用windows非常多年了呀! 只是看到微软最新的Windows10还是手痒了.想安装体验一把. 于是第一时间下载,并做成usb引导安装镜像,在08年的老台式机上安装尝鲜鸟.下载ISO和安装 ...

  9. Spring发送邮件_javax.mail.AuthenticationFailedException异常已解决

    在Spring项目中须要增加监控功能.监控过程中发现异常时.须要邮件报警.最初选择用javamail发送,代码量比較大(相对于spring发送).终于选择Spring邮件发送~ 以下贴一下实现的代码以 ...

  10. spring:利用Spring AOP 使日志输入与方法分离

    对方法进行日志输出是一种很常见的功能.传统的做法是把输出语句写在方法体的内部,在调用该方法时,用输入语句输出信息来记录方法的执行! 1.先写一个普通类: package com.importnew; ...