这是我的代码:
int availableBytes = inputStream.available();
if (availableBytes > 0) {
inputStream.read(readBuffer, 0, availableBytes);
System.out.println(new String(readBuffer, 0, availableBytes));
Reponse = new String(readBuffer, "UTF-8");
System.out.println(Reponse);
我的问题:
所以我进入了我的“Reponse”变量,类型为String,ascii值我觉得因为当我执行“Reponse”的sysout时它会向我显示一个带有问号的3“方块”。
那么可以用整数中的ascii值转换这个String值吗?
答案 0 :(得分:0)
Java String不是一个字节序列 - 有符号的8位,而是字符 - 无符号的16位。另请阅读构造函数的javadoc:
通过解码指定的字节子数组构造一个新的String 使用平台的默认字符集。新String的长度是 字符集的功能,因此可能不等于字符集的长度 子阵列。
它无法正常工作 - 它不会将每个字节转换为字符!