如何将8位字节转换为7位字节(Base 256到Base 128)
我希望做这样的事情:
public string BytesToString(byte[] in)
{
}
public byte[] StringToBytes(string in)
{
}
Run Code Online (Sandbox Code Playgroud)
我知道base64可用,但它扩展了一个字节数组太多了.
Base64每个字符编码6位,产生一个字符串,只需很少的努力就可以可靠地传输(模数小心URL).
没有具有相同属性的7位字母表 - 例如,如果给出控制字符,许多系统将会失败.
你绝对相信你不需要经历任何这样的系统(包括存储)吗?这个额外的微小空间节省真的足以证明必须担心某些东西是否会将"\n"更改为"\ r \n"或反之,或者丢弃字符0?
(对于存储示例,2100字节= base64中的2800个字符,或base128中的2400个字符.与IMO不同.)
我强烈建议您查看是否可以找到额外的存储空间 - 以后可能会节省很多麻烦.