引用 8 楼 fei1710 的回复:引用 7 楼 zhaomeng1123 的回复:引用 6 楼 fei1710 的回复:引用 4 楼 zhaomeng1123 的回复:引用 2 楼 fei1710 的回复:java内存中char是两个字节,但是保存到文件中时另一回事,取决于文件的字符编码。 write(int c)函数api说是输出整形的底16位,我想那输出一定是两……
字符与二进制之间是有对应关系的。这个转换过程叫编码,逆过程叫解码。 Java语言,字符在内存中采用的是Unicode双字节定长编码。 但是,你要是输出到文件中,就会存在一个编码转换的过程。 一般WinXP系统,简体中文版的默认编码是GB2312编码,而不是Unicode编码, 并且,你在使用FileWriter对象的时候,并没有指定具体的编码,那么默认编码就是操作系统的默认编码。 所以,……
一个英文字符占一个字节 一个中文占2个字节
引用 7 楼 zhaomeng1123 的回复:引用 6 楼 fei1710 的回复:引用 4 楼 zhaomeng1123 的回复:引用 2 楼 fei1710 的回复:java内存中char是两个字节,但是保存到文件中时另一回事,取决于文件的字符编码。 write(int c)函数api说是输出整形的底16位,我想那输出一定是两个字节呀,和文件的编码应该没有什么关系……
2 bit
引用 6 楼 fei1710 的回复:引用 4 楼 zhaomeng1123 的回复:引用 2 楼 fei1710 的回复:java内存中char是两个字节,但是保存到文件中时另一回事,取决于文件的字符编码。 write(int c)函数api说是输出整形的底16位,我想那输出一定是两个字节呀,和文件的编码应该没有什么关系吧。 FileWriter这个类是面向字符的,……
/** * Writes a single character. * * @exception IOException If an I/O error occurs */ public void write(int c) throws IOException { se.write(c); }
引用 4 楼 zhaomeng1123 的回复:引用 2 楼 fei1710 的回复:java内存中char是两个字节,但是保存到文件中时另一回事,取决于文件的字符编码。 write(int c)函数api说是输出整形的底16位,我想那输出一定是两个字节呀,和文件的编码应该没有什么关系吧。 FileWriter这个类是面向字符的,并不是二进制字节。另外windows中……
62,635
社区成员
307,269
社区内容
加载中
试试用AI创作助手写篇文章吧