函数string.getbytes()与Java文档之间是否有冲突?

时间:2019-05-12 15:17:39

标签: java string

我正在尝试对字符串进行转码。但是结果似乎与Java文档冲突。为什么?

我的环境是Windows 10(简体中文),Intellij idea 2018.3.1,openjdk11。对于此系统,其字符集为936(表示GBK)。

//open a inputstream of a utf8 file
InputStreamReader InputStream = new InputStreamReader(FileStream,"utf8");
BufferedReader BufferedRead = new BufferedReader(InputStream);
String Utf8String = BufferedRead.readLine();
byte [] bytetest1 = Utf8String.getBytes();
//print bytetest to console...
byte [] Utf8byte2 = Utf8String.getBytes("utf8");
//print UTF8byte2 to console...
byte [] GBKbyte3 = Utf8String.getBytes("gbk");
//print GBKbyte3 to console...

我的系统字符集是gbk。因此,结果应为GBKbyte3等于bytetest1,但实际结果为UTF8byte2等于bytetest1。

以下是输出:

bytetest equal to UTF8byte2

0 个答案:

没有答案