关于socket文件传输问题的,求助!! 本帖最后由 fanqsh123 于 2012-01-01 20:32:40 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要用二进制文本方式处理txt当然没问题,二进制文件里有很多字节零啊不可显示字符 能具体点么 有点明白了 但好像又什么都没明白的~~刚刚我找到了方法好像是转换成Base64编码的 然后貌似就行了 没明白为啥这么就行了~~ ascii码不是都能够显示的,0x01就不能在txt中显示base64是将字节转换为可显示字符每字节8位三个字节24位转换为6位可以拆分成4个6位可以用64个字符来表示因此你可以用base64解决你的问题,但是socket收发的就是字节不需要转换,只不过不能用文本方式来表达收到的数据也不要弄成string,以二进制读文件通过socket发送收到后以二进制写入文件即可 关于.net学习的困惑 WinForm 的一个问题 高手请帮帮忙!如何用C#读取MBR? 报表程序集引用的问题 window mobile 下如何获取手机SIM card的ID 和存储卡的ID? C#有前途吗? 如何获取当前的控件所在的窗体的名称 给sqladapter的SelectCommand赋值的代码怎么写? 如何将文件写入数据库?? 请问C#可以开发组件,在Web上可以出现象ActiveX的窗体吗?那么是不是VC开发web的ActiveX今后应当换成.net开发更快更简单? 文件保护软件 求思路 C# 继承类中如果出现重复属性怎么办?
文本方式处理txt当然没问题,二进制文件里有很多字节零啊不可显示字符
能具体点么 有点明白了 但好像又什么都没明白的~~刚刚我找到了方法好像是转换成Base64编码的 然后貌似就行了 没明白为啥这么就行了~~
base64是将字节转换为可显示字符
每字节8位三个字节24位转换为6位可以拆分成4个
6位可以用64个字符来表示
因此你可以用base64解决你的问题,但是socket收发的就是字节
不需要转换,只不过不能用文本方式来表达
收到的数据也不要弄成string,以二进制读文件通过socket发送
收到后以二进制写入文件即可