В документации говорится Oracle:Влияет ли кодирование кода программы java на компиляцию?
-Кодирование кодирование
Установить имя кодировки исходного файла, например, EUC-JP и UTF-8. Если -encoding не указан, используется конвертер по умолчанию платформы.
Я знаю, что конвертер по умолчанию для платформы Mac OS X является Mac Roman. Но когда у меня есть файл .java
, закодированный в UTF-8 и многие другие кодировки, код успешно скомпилирован. Я также попытался заставить javac
прочитать кодировку UTF-8 и EUC-JP из кодированного программного кода Mac Roman, а также успешно скомпилирован.
Почему это происходит? Я ожидаю, что все вышесказанное потерпит неудачу.
Если вы используете только «базовые» символы, кодировка не будет иметь большого значения. – jonrsharpe
@jonrsharpe Я протестировал, используя документ hello world, но почему это? Разные кодировки не используют разные двоичные строки для представления символа? – Kun
Поскольку символы ASCII 32-127 (английские буквы, арабские цифры, основные знаки препинания) одинаковы почти везде. http://www.joelonsoftware.com/articles/Unicode.html. Попробуйте смешивать вещи с более сложными персонажами, и это начнет становиться интересным. – jonrsharpe