将 ASCII 数值转换为字符

时间:2021-03-18 21:54:16

标签: java android character ascii inputstream

我想将终端应用程序中的数字数据作为带蓝牙的 ASCII 发送到 Android 应用程序,并在 Android 应用程序内部将 ASCII 数字数据转换为字符。

我只找到了一个解决方案,但它读取为单个字节。 我为 Android 应用编写了这个命令来获取数据:

InputStream stream;
if (stream.available() > 0) {
    int a = stream.read();
    int x = Character.getNumericValue(a);
    this.mmOutStream.write(x);
    this.mmOutStream.flush();
}

这个命令

int a = stream.read (); /// 128

它将数据作为 ASCII 码并扔进一个

这个命令

int x = Character.getNumericValue(a); /// 1 2 8

ASCII 转换为字符,但提供单个字节的数据。 也就是我给的数字是ASCII码,比如数字128 128 转换为 1 2 8。 但是我想要128,他却一一给了我。

1 个答案:

答案 0 :(得分:1)

您可以将 ASCII 十进制值转换为 char,如下所示:

int ch = 125;
System.out.println((char) ch); // }
System.out.println(Character.getName(ch)); // RIGHT CURLY BRACKET

另见:Why do I get a number when I add chars?