一、需求
在传输一个文件的时候,传输的是二进制数据,整个数据文件的结构为:
文件名称 + 文件本身
其中文件名称固定占30个byte,存在的情况就是,有的文件名比较长,有的文件名比较短,所有要补足30个字节。
| 数据构成 | 长度(byte) | 示例1 | 示例2 |
|---|---|---|---|
| 头 | 30 bytes | acb.txt | wueoruwousjlasjljgljljgaj.docx |
| 数据 | N bytes | byte[1980] | byte[2049] |
二、自己臆想的补足方式
文件名原本有8个字节长,我自己创一个12字节的数组 (new byte[12])补在后面。
还原成string的时候,我用Trim()剔除12字节的空白信息。
var strData = Encoding.UTF8.GetBytes("实验报告.doc");//8 bytes
var blankData = new byte[12]; //生成一个12bytes的空数组,用来补足20字节
var allData

文章讨论了在传输二进制文件时如何处理文件名的固定长度问题。原始方法是通过添加空数组来补足字节,但实践中发现这不是最佳方案。正确的做法是使用`PadRight()`函数将字符串扩展到30个字符,然后进行转换和传输。在接收端,可以使用`Trim()`移除多余的空格。
最低0.47元/天 解锁文章
193

被折叠的 条评论
为什么被折叠?



