ByteBuffer、byte[]、String相互转化

@Override
public String decodeKey(ByteBuffer bytes) {
    Charset charset = Charset.forName("utf-8");
    return charset.decode(bytes).toString();
}

@Override
public byte[] decodeValue(ByteBuffer bytes) {
    int len = bytes.limit() - bytes.position();
    byte[] bytes1 = new byte[len];
    bytes.get(bytes1);
    return bytes1;
}

@Override
public ByteBuffer encodeKey(String key) {
    try {
        return ByteBuffer.wrap(key.getBytes("utf-8"));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return ByteBuffer.wrap(key.getBytes());
}

@Override
public ByteBuffer encodeValue(byte[] value) {
    ByteBuffer byteBuffer = ByteBuffer.allocate(value.length);
    byteBuffer.clear();
    byteBuffer.get(value, 0, value.length);
    return byteBuffer;
}

你可能感兴趣的:(java)