FileOutputStream的write方法

[code="java"] FileOutputStream fo = new FileOutputStream("d:/services3.txt");
try {
fo.write("北京".getBytes());
} catch (IOException e1) {
e1.printStackTrace();
}[/code]
问题:FileOutputStream是按字节读入输出流的,假设”北京“对应字节为:1 2 3 4,那么输出文件是怎么知道1和2字节组成”北“,3和4字节组成”京“,而不是输出1,2,3,4字节分别对应的ascll码?

[quote]”北京“对应字节为:1 2 3 4,[/quote]

北京对应的 字节 1 2 3 4 都大于 127 ,所以找不到对应ASCII码。

此时 如果设置读取的编码格式是GBK,则按 (12) 去读,而不是1、2分别去读

此时 如果设置读取的编码格式是ISO8859-1,则用?来替代1字节。