Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中将输入流从字节数组转换为字符串_Android_Arduino_Serial Port_Inputstream_Bytearrayoutputstream - Fatal编程技术网

如何在android中将输入流从字节数组转换为字符串

如何在android中将输入流从字节数组转换为字符串,android,arduino,serial-port,inputstream,bytearrayoutputstream,Android,Arduino,Serial Port,Inputstream,Bytearrayoutputstream,我正在研究RFID串口。在这篇文章中,我有一个提到的源代码,比如这个新的SerialPortnew文件/dev/ttyS3,19200;它工作完美我得到了一个输出,但不是很好的编码我尝试了所有的编码,但它不工作 我从InputStream获得一个输出: mInputStream=mSerialPort.getInputStream; 专用字节[]接收缓冲区=新字节[128];; 私有整数大小=0; size=mInputStream.readReceiveBuffer; //我检查了所有的编码

我正在研究RFID串口。在这篇文章中,我有一个提到的源代码,比如这个新的SerialPortnew文件/dev/ttyS3,19200;它工作完美我得到了一个输出,但不是很好的编码我尝试了所有的编码,但它不工作

我从InputStream获得一个输出:

mInputStream=mSerialPort.getInputStream; 专用字节[]接收缓冲区=新字节[128];; 私有整数大小=0; size=mInputStream.readReceiveBuffer; //我检查了所有的编码 字符串消息=新的StringreciveBuffer,0,大小,Charset.forNameiso-8859-1; String message2=新的StringreciveBuffer,0,大小,Charset.forNamewindows-1252; 断言消息2.charAt1=='\u00E4'; String message3=新的StringreciveBuffer,0,大小,Charset.forNameUS-ASCII; 字符串编码=接收缓冲区[0]&128==0?UTF-8:windows-1252; 字符串显示=新StringreciveBuffer,0,大小; 但在字符串中,我得到:

3.������`������`��xf���F���
从所有编码。

是否使用扩展ascii>127?

您可以尝试以下功能:

private String Buff2String(byte[] buff) {
    String retVal = "";

    for(byte c : buff) {
        int i = c & 0xFF;
        retVal += (char)i;
    }

    return retVal;
}

我不知道我使用的是普通编码,但有一个.so库串行端口