代码如下:private static void writeUtf() throws IOException {
DataOutputStream dos = new DataOutputStream(new FileOutputStream(
"f:\\data1.txt"));
dos.writeUTF("你好");
dos.close();
}
private static void writeU8Data() throws IOException {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
"f:\\data2.txt"), "utf-8");
osw.write("你好");
osw.close();
}
private static void writeGbkData() throws IOException {
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
"f:\\data3.txt"), "gbk");
osw.write("你好");
osw.close();
}
结果:
data1.txt 8字节
data2.txt 6字节
data3.txt 4字节
问:一个汉字不都是占两个字节吗,为何会产生如此差异?
|
|