二进制01000001
(the byte
) 是 ASCII 字符A
,因此当您读取为String
.
你需要使用FilterOutputStream.html#write(byte[])
write("65".getBytes());
获得相同的输出。
或者你需要的任何类型
write(new Integer(65).toString().getBytes());
为了与 print() 不匹配,我应该在 write() 中写什么?你能举个例子吗?
System.out.println(65); // writes 65 as a String, String.valueOf(65).getBytes()
System.out.write(65); // writes 65 as a byte
System.out.flush();
印刷
65 // the String value '65'
A // the character value of binary 65
阅读方法的javadoc。print
上面的接受一个int
和
打印一个整数。String.valueOf(int)生成的字符串按照平台默认的字符编码转换为字节,这些字节的写入方式与 write(int) 方法完全相同。
在任何一种情况下,字节都会写入流,但它们的显示方式取决于您读取它们的方式。String
具有接受charsetName
或Charset
对象的构造函数。A Charset
(作为一个概念和一个类)是
十六位 Unicode 代码单元序列和字节序列之间的命名映射。