字符串填充到指定长度

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

一、需求

在传输一个文件的时候,传输的是二进制数据,整个数据文件的结构为:
文件名称 + 文件本身
其中文件名称固定占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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值