将字符串的长度和值保存到一个字节中

时间:2014-02-17 03:06:16

标签: java

我需要保存在包含字符串的字符数的第一个字节位置。然后将每个字符的值存储在以下位置。

 String cadena = new String ("Desarrollo"); 
byte valores[] = new byte [cadena.length()]; 
valores = cadena.getBytes(); 

1 个答案:

答案 0 :(得分:3)

使用java.nio.ByteBuffer。根据某些给定的字符集,将String表示形式设为byte[]。首先将String的大小写为int,然后写下byte[]

String cadena = new String("Desarollo");
byte[] bytes = cadena.getBytes("UTF-8");
ByteBuffer buffer = ByteBuffer.allocate(4 + bytes.length); // 4 being the size of an int in bytes
buffer.putInt(cadena.length());
buffer.put(bytes);

然后,您可以使用

获取基础byte[]
buffer.array();

您应该将字符串长度写为int,因为byte的最大值为127,您可能会超过它。