[紧急]C#中二进制写问题

zinc88 2010-09-08 03:03:43
int aa=123; 以二进制写入文件后使用ultedit查看应该是0x7B,
string aa="田中";如何将以二进制把aa写入呢。急!!!


不要告诉我使用 Encoding.Default.GetBytes()方法先转换为byte 数组,然后把这个数组写入,这个没用的。使用ultedit查看是乱码,使用notepad查看是“田中”。
...全文
426 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zinc88 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 viena 的回复:]
一面问出明显与计算机基本原理相悖的问题,一面号称自己懂计算机基本基础
[/Quote]
是啊,我外行行了吧,我不配做程序员,有意思吗?你们很强,中国的软件就靠你们了。
xiaotiange 2010-09-09
  • 打赏
  • 举报
回复
FileStream fs = new FileStream(@"E:\test1.txt", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write("爱田由");
glest 2010-09-09
  • 打赏
  • 举报
回复
 FileStream fs=new FileStream(@"E:\test.bin",FileMode.OpenOrCreate);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(123);
bw.Write("田中");
bw.Close();
fs.Close();

使用vs 2008查看test.bin文件:
7B OO OO OO O6 E7 94 B0 E4 B8 AD
viena 2010-09-09
  • 打赏
  • 举报
回复
一面问出明显与计算机基本原理相悖的问题,一面号称自己懂计算机基本基础
viena 2010-09-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zinc88 的回复:]
如果您是来解决问题的那我很感谢,如果您是来给我上课的,我想您来错地方了。计算机基本基础我懂的。
[/Quote]

哈哈,我猜到会是这么个结果
vrhero 2010-09-09
  • 打赏
  • 举报
回复
很明显你不懂,如果你懂就不会问出如此外行的问题...
zinc88 2010-09-09
  • 打赏
  • 举报
回复
如果您是来解决问题的那我很感谢,如果您是来给我上课的,我想您来错地方了。计算机基本基础我懂的。
[Quote=引用 6 楼 vrhero 的回复:]
何为“二进制形式”?何为“乱码”?

1.任何数据都是以二进制存储及存在,所有其他进制仅仅是给人肉眼看的...

2.任何数据都不存在乱码,所谓乱码是计算机没有按你“以为的”编码解码的结果而已...

3.字符如非显式指定编码,计算机都按系统当前字符集及代码页设置处理...拉不出屎来别怨茅坑...

先去补补计算机基础知识,不是会门语言就可以叫程序员的...
[/Quote]
csproj 2010-09-08
  • 打赏
  • 举报
回复
字符串转成二进制有很多种转法。

用什么规则把“苍空井”变成二进制,
就用相同的规则把它变回来。


ultedit 查看是乱码,说明他用错了转换规则
viena 2010-09-08
  • 打赏
  • 举报
回复
如果你能仔细看懂6楼的回复,你就没白发这个贴~
viena 2010-09-08
  • 打赏
  • 举报
回复
哇,被vrhero抢先了
viena 2010-09-08
  • 打赏
  • 举报
回复
晕,概念搞清楚先

广义的说,所有文件都是二进制,文本文件存的也是编码,难道你以为能直接把字符存进去?
vrhero 2010-09-08
  • 打赏
  • 举报
回复
何为“二进制形式”?何为“乱码”?

1.任何数据都是以二进制存储及存在,所有其他进制仅仅是给人肉眼看的...

2.任何数据都不存在乱码,所谓乱码是计算机没有按你“以为的”编码解码的结果而已...

3.字符如非显式指定编码,计算机都按系统当前字符集及代码页设置处理...拉不出屎来别怨茅坑...

先去补补计算机基础知识,不是会门语言就可以叫程序员的...
zinc88 2010-09-08
  • 打赏
  • 举报
回复
是二进制文件比如 123=>0X7B
[Quote=引用 4 楼 glest 的回复:]
将得到的字节数组转换为二进制字符串?

C# code
string s = "田中";
byte[] bs = Encoding.UTF8.GetBytes(s);
foreach (byte b in bs)
{
System.IO.File.AppendAllText(@"E……
[/Quote]
glest 2010-09-08
  • 打赏
  • 举报
回复
将得到的字节数组转换为二进制字符串?
string s = "田中";
byte[] bs = Encoding.UTF8.GetBytes(s);
foreach (byte b in bs)
{
System.IO.File.AppendAllText(@"E:\test.txt", b.ToString("x2"));
}
gongsun 2010-09-08
  • 打赏
  • 举报
回复
Byte[] info = new UTF8Encoding(true).GetBytes("苍井空");

------------------

这样 还乱码?

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧