首先我有一个字符串,我用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}}
我需要字符串是相同的长度和奇迹,我怎么能实现这一点。
答案 0 :(得分:1)
如果您希望UTF字节的数量相同,则您不需要将带有空格的原始字符串填充到公共长度,而是计算原始字符串的UTF长度,并确定要添加的字节数,然后添加该数量的空格。