将 Java 字符串转换为 16 字节的字节数组

Convert a Java string into 16-byte byte array

我的存储空间有限,只能在字节数组中存储 16 个字节。如果我有一个长字符串,String.getBytes() 对我不起作用。

如何将 convert/encode 7 位标准 ascii 字符中的长 java 字符串设置为 16 字节字节数组,然后再编码回原始字符串?不过,我知道原始输入字符串会有限制。我也在寻找建议如何设置具有合理长度限制的要求,即电子邮件地址长度。

你问的是不可能的。一个任意的、足够长和复杂的字符串不能用 16 个字节编码。

即使字符串仅使用 7 位标准 ASCII 字符,您也将被限制为包含 18 个字符((每字节 8 位 * 16 字节)/每个字符 7 位)的 encoding/decoding 字符串。在这种情况下实际的位移算法会非常混乱,由此产生的内存节省可以忽略不计。