如何使字符串具有相同的字节大小

时间:2017-11-20 22:14:53

标签: java string byte

首先我有一个字符串,我用rightPadZeros()添加空格,将空格放到validNameLenght,表示为字符串分配的有效字符数。

ByteArrayOutputStream hlpByteArrayOutputStream = new ByteArrayOutputStream();
hlpOutStream = new DataOutputStream(hlpByteArrayOutputStream);

hlpOutStream.writeUTF(this.name);
hlpOutStream.writeUTF(this.surname);

hlpByteArrayOutputStream.toByteArray(); 

例如:validNameLenght = 7; str =" Adam&#34 ;;然后this.name =" Adam&#34 ;;

我尝试将数据转换为字节数组

name=ADAM => size 22
name=James => size 22
name=Ňaa => size 23

现在我打电话给hlpOutStream.size();它返回数组中的字节数。

我希望这个大小对于任何输入都是相同的,如果我不使用特殊字符,它会起作用。我假设他们有字符的额外字节。

测试:

{{1}}

我需要字符串是相同的长度和奇迹,我怎么能实现这一点。

1 个答案:

答案 0 :(得分:1)

如果您希望UTF字节的数量相同,则您不需要将带有空格的原始字符串填充到公共长度,而是计算原始字符串的UTF长度,并确定要添加的字节数,然后添加该数量的空格。