下面是我的代码:
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);
我的问题:
所以我得到了我的" response "变量,字符串类型,ascii值我想是因为当我做" response "的sysout时它显示了一个3 "的正方形,里面有一个问号。
那么是否可以将此字符串值转换为整数形式的ascii值?
Java String不是字节序列(带符号8位),而是字符序列(无符号16位)。还要阅读构造函数的javadoc:
通过解码指定的字节子数组来构造一个新的String使用平台的默认字符集。新字符串的长度为字符集的一个函数,因此可能不等于的长度子数组。
它可能不像你期望的那样工作-它不会将每个字节转换成一个字符!