当前位置:  开发笔记 > 编程语言 > 正文

c# - 在字符串中使用二进制数据时数据是否"丢失"?

如何解决《c#-在字符串中使用二进制数据时数据是否"丢失"?》经验,为你挑选了3个好方法。

我尝试使用返回字符串的StreamReader类' ReadToEnd()方法读取JPG文件.

出于某种原因,当我将此字符串写入文件时,它不会打开.

将数据读入字符串时会丢失什么?



1> Jon Skeet..:

字符串用于文本数据.它们不是二进制数据 - 如果你以这种方式使用它们就会丢失数据(如果幸运的话,你可以使用哪些编码不会丢失数据,但有一些微妙的问题仍然会让它成为一个非常糟糕的主意.)

如果您实际处理的是文件,那么阅读整个文件的最简单方法是调用File.ReadAllBytes.如果必须处理任意流,请查看"从流中创建字节数组".



2> Peter Wone..:

正如所有真正的程序员都知道的那样,唯一有用的数据结构是Array.字符串,列表,结构,集合 - 这些都是数组的特殊情况,可以这样轻松地处理,而不会弄乱您的编程语言中的各种复杂情况.花哨的数据类型最糟糕的是你必须声明它们,而且我们都知道,Real Programming Languages根据(六个字符)变量名的第一个字母进行隐式类型化.

此外,确定的Real Programmer可以用任何语言编写Fortran程序.


无论是谁修改了这个,都要么没有幽默感,要么没有民间传说知识.以上内容摘自1983年由泰克的Ed Post撰写的一篇非常着名的致Datamation编辑的信.这封信的标题是Real Programmers Do not Use Pascal.



3> jussij..:

永远记住,文本数据 二进制数据,二进制数据 不是 文本数据.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有