最近做项目的时候遇到些问题:
大致是这样子的,一个进程给我发了一段信息,我通过编解码来获得这段信息是什么并显示出来。
我的逻辑是这样的:它给我发的东西应该是通过一定方式编码得到的二进制流,那么我通过一定的方式解码就可以显示信息。
但他的代码表现出来的逻辑是 把想要发送的文件先通过一定的编码方式 读成 string 然后解码为 二进制再发送,我这边怎么调都有乱码。
最终问题定位到他的发送 部分的代码,直接读成2进制就ok 然后直接将二进制流发送过去,发的是什么类型的文件就写成什么文件,这样通过pc端的工具就可以打开咯,果然就没有乱码咯。
总结:对计算而言没有乱码,所有的东西都是二进制文件,但不同类型的信息有不同的编码方式,产生的影响就是用不同的工具打开会有不同的表现形式;我们在进行通信或者信息的传递是,如果载体是网络,那么其实发送的就是二进制数据流,确定对与不对计算机会去看二进制文件到底对不对,但人会去看表现形式就是解码出来的文件内容是否相同,出问题就是会出在这个阶段。
最后:WPF中 byte[] 类型 和 string int 等的互相转换代码很简单,查一下就好。后面我在总结的全面一点放上来。