Я пытаюсь скрыть байты в строку, что я получаю после чтения с устройства bluetooth. Ниже приведен код, который я использую, но он не дает правильной строки. Выход такой какКак преобразовать массив байтов в строку?
02-19 18: 01: 49.300: I/BluetoothReadService (17693): Сообщение прочитано: 8 1.04TTO
byte[] buffer = new byte[1024];
int bytes;
// Keep listening to the InputStream while connected
while (true)
{
try
{
// Read from the InputStream
bytes = mmInStream.read(buffer, 0, buffer.length);
String readMessage = null;
byte[] getBytes = null;
try {
readMessage = BitConverter.toString(buffer);
getBytes = BitConverter.getBytes(readMessage);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String s = new String(getBytes, "US-ASCII");
Log.i(TAG, "Message Read : "+readMessage +"ByteString"+s);
mHandler.obtainMessage(MainActivity.MESSAGE_READ).sendToTarget();
} catch (IOException e)
{
Log.e(TAG, "disconnected", e);
connectionLost();
break;
}
Просьба предложить, что делать?
http://stackoverflow.com/questions/6684665/java-byte-array-to-string-to-byte-array Google - ваш друг. – Gal
Вы уверены, что байты содержат текст в кодировке US-ASCII? –
использовать эту строку 'String str = new String (bytes, Charsets.US_ASCII);' –