lev*_*ovd 4 java unicode file char character-encoding
我遇到了unicode字符序列化和反序列化的问题.这是一个示例程序,它将char写入文件,然后尝试读取它.书写和读取字符(ch和ch2)是不同的.有什么建议为什么我得到这种行为?
public class MainClass {
public static void main(String[] args) {
try {
File outfile = new File("test.txt");
FileOutputStream fos = new FileOutputStream(outfile);
OutputStreamWriter writer = new OutputStreamWriter(fos, "UTF-16");
FileInputStream fis = new FileInputStream(outfile);
InputStreamReader reader = new InputStreamReader(fis, "UTF-16");
char ch = 56000;
System.out.println(Integer.toBinaryString(ch));
writer.write(ch);
writer.close();
char ch2 = (char) reader.read();
System.out.println(Integer.toBinaryString(ch2));
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
UPD:根据 经验发现,这仅适用于范围55296-57343的数字.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |