来自 Java 规范 SE 7 版
§3.1统一码
程序是使用 Unicode 字符集编写的。
§3.2词法翻译
使用以下三个词法翻译步骤将原始 Unicode 字符流翻译成标记序列...
我很困惑,因为我使用本机字符编码(Windows-1252)编写源代码,并且规范提到(?)都从原始 Unicode 字符流开始,然后执行词法转换(包括 Unicode 转义转换) .
他们提到 Unicode 转义可用于包含仅使用 ASCII 字符的任何 Unicode 字符;如果执行了先前的转换,我认为它们指的是 Unicode 字符集子集中的 ASCII 字符,这是有道理的。
是否有从用于将源文件写入 Unicode 的编码的先前转换?
一些相关信息,但我认为这更像是运行时的文本处理,而不是编译过程: