1 在JAVAC编译时,如果指定编码方式,则String 按照此种编码存放字符。如果不指定,则String按照系统默认存放字符。如果指定编码方式,则char按照此种编码转换为unicode存放。如果不指定,如果无法解释字符集,报错处理。
2 在JAVAC编译时 ,如果指定ISO8859-1,则不检查字符集。如果按照ISO8859-1使用getBytes()取出,则可完整保存此字节流。如果按照其他编码取出,则转换后取出。
3 在使用String(content.getByte(),encoding)语法时要特别注意。如果原串是ISO8859-1,则getByte时也要是ISO8859-1,encoding需要保持和原串一样的编码。(此方法在重新编码时不会自动扩展或者缩小字节多少,可能造成乱码)。所以此方法只能原串编码变原串编码,或者遵循ISO8859-1变其他码。例如UTF-8变GBK会造成乱码。
4 使用println时,系统先按照默认字符集转换,后进行输出。