String 能否将所有字符串解码为有效的二进制数据?

String 能否将所有字符串解码为有效的二进制数据?,string,base64,String,Base64,众所周知,Base-64将二进制数据编码为可转移的ASCII字符串,我们将这些字符串解码回数据 现在我的问题是相反的:每个随机字符串是否可以被解码为二进制数据,并正确地编码回原始字符串?这取决于您的编码方法-某些方法仅使用有限的字符范围,因此包含其他字符的字符串将不合法。在Base64中就是这种情况,所以答案是否定的。对于其他方法,我确信这是可能的,但除了简单地将字符串作为二进制字节处理外,我想不出其他例子 解码成什么?“有效”是什么意思?你要的是UTF8?UTF-8字符串。似乎我应该保留一些限

众所周知,Base-64将二进制数据编码为可转移的ASCII字符串,我们将这些字符串解码回数据


现在我的问题是相反的:每个随机字符串是否可以被解码为二进制数据,并正确地编码回原始字符串?

这取决于您的编码方法-某些方法仅使用有限的字符范围,因此包含其他字符的字符串将不合法。在Base64中就是这种情况,所以答案是否定的。对于其他方法,我确信这是可能的,但除了简单地将字符串作为二进制字节处理外,我想不出其他例子

解码成什么?“有效”是什么意思?你要的是UTF8?UTF-8字符串。似乎我应该保留一些限制:字符串包含UTF-8字符,除了:'\t','\r','\n。但是可以包括空格(空白)、“/”、“-”、“"”。