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

时间:2015-06-27 18:45:43

标签: java character-encoding

我有一个限制存储,只能在字节数组中存储16个字节。如果我有一个长字符串,String.getBytes()将不适合我。

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

1 个答案:

答案 0 :(得分:2)

你提出的问题是不可能的。任意,足够长且复杂的字符串不能以16个字节编码。

即使字符串仅使用7位标准ASCII字符,您也只能使用18个字符(每字节8位* 16字节)/每个字符7位编码/解码字符串。在这种情况下,实际的位移算术将非常混乱,并且由此产生的内存节省可以忽略不计。