Я пытаюсь декодировать [] байт из Arduino BT, я получил соединение отлично, проблема в том, когда я пытаюсь декодировать массив. все, что я получаю, это этот символ � (такое же количество отправленных байтов). Я думаю, что проблема в декодировании. Я пытаюсь с ASCII-кодировкой, но все та же проблема. Я использую android студию, настроенную в формате UTF-8.
Может кто-нибудь сказать мне, что происходит, пожалуйста? OutputStream:
public void write(byte[] bytes) {
String text = new String(bytes, StandardCharsets.US_ASCII);
Log.d(TAG, "write: Writing to outputstream: " + text);
try {
mmOutStream.write(bytes);
Log.d(TAG, "write: Writing to outputstream: " + bytes);
} catch (IOException e) {
Log.e(TAG, "write: Error writing to output stream. " + e.getMessage() );
}
}
InputStream:
public void run (){
byte [] buffer = new byte[1024];
int bytes;
while(true){
try {
bytes = mmInStream.read(buffer);
String incomingMessage = new String (buffer,0,bytes, StandardCharsets.US_ASCII);
Log.d(TAG,"InputStream: " + incomingMessage);
Intent incomingMessageIntent = new Intent("incommingMessage");
incomingMessageIntent.putExtra("El mensaje", incomingMessage);
Log.d(TAG,"Mensaje enviado a la main actv " + incomingMessage);
LocalBroadcastManager.getInstance(mContext).sendBroadcast (incomingMessageIntent);
} catch (IOException e) {
Log.e(TAG,"Error leyendo Imputstream" +e.getMessage());
break;
}
}
}
Logcat, чтобы увидеть символ, который я получаю: