假设我有一个Inputstream。如果我说错了,请纠正我,但是InputStream中的所有数据都保存为字节,例如以下文本:“为什么不用♥?” 现在我想知道,这个文本如何转换为字节数组,因为我不知道(例如)那个♥是如何保存的。 如果我调用
InputStream myInputStream = os.getInputStream();
byte[] b = new byte[1];
while ((in.read(b)) != -1) {
System.out.write(b, 0, 1);
}
然后在每个循环中,我的字节数组(长度为1)将被填充下一个字节。
int.read(b)
返回一个整数值,稍后将其转换为字符。因此,如果查看Java文档,您会发现类似于以下内容:
从输入流中读取下一个字节的数据。值字节作为介于0到255之间的int返回。
我的想法是:只有255个不同的字符可能吗?这必须是一种错误的推理,因为在源代码中使用了哪些字符并不重要。
所以 - 有人能帮我解开这个谜题吗?非常感谢。