Еще одна статья, практически из серии «ликбез»: «Вавилонское столпотворение. Часть 4. Проза жизни: компиляция и вывод в консоль». Название в заголовке не поместилось. :)
Я бы добавил замечание о том, что над одним проектом могут работать различные разработчики в различных ОС и даже говорить на различных языках (использовать различные кодовые страницы). Поэтому, в исходниках следует использовать одну "универсальную" кодировку UTF-8 всегда. Это первое что я настраиваю при установке IDE :).
Кроме того, следует вообще избегать не ASCII символов в исходном коде, а по возможности выносить их в ресурсы, хотя-бы ".properties". Логи и сообщения об ошибках, не предназначенные для пользователя, я так-же веду только в ASCII. Это гарантирует, что их можно будет прочитать в любом редакторе на любой системе.
1. Если проект интернациональный, то выбора нет. 2. В жизни я не встречал таких специалистов которые бы были незаменимы и не знали английский на достаточном уровне. Да и сложно представить что человек, регулярно читающий документация на английском, не сможет написать или прочитать комментарий к коду. А если он не читает документацию на английском, то зачем он?
Я свободно читаю - en2ru хороший. Но пишу очень плохо - ru2en плохой. Не верится, что все свободно владеют английским, чтобы издагать ясно подробно (как в JDK javadoc например) ;-(
Так вот и ответ "как в JDK javadoc".Там же ж куча типичнейших примеров. И потом, никто ж не требует абсолютной грамотности. Постоянные мысли о том как построить предложение повышают скилл. А если не писать, то никогда и не научишься.
Безусловно. Все комментарии на английском. Когда команда расположена в Москве, Новосибирске и Сиэттле, причем в нее входят русские, американцы, немцы и голландцы - иначе никак.
Одна из предыдущих команд была еще лучше. Австралиец, новозеландец, голландец, индусы, мавриканцы, японцы, англичане. И до кучи - русские, украинцы и молдаване. :)
А выучить язык можно только используя его. Переписка, митинги, документация, комментарии в коде.
Вспомнил мой любимый пример. Как-то я искал одну программку. Нашел, но с первого раза она не взлетела. Я полез в код разбираться. В коде какие-то каракули. Долго я подбирал кодировку, пока не понял, что каракули — это то-ли иврит, то-ли идиш.
Здравствуйте! У меня есть вопрос по Вашей статье - Вы писали, что "И к System.in, использующемуся для чтения из консоли, там тоже надо указывать правильную кодировку." Подскажите пожалуйста какой клас вместо PrintStream в этом случае надо использовать, ИБО конструктор класса PrintStream с 3-мя параметрами принимает в качестве 1-ого из них ТОЛЬКО OutPutStream, таким образом System.out и System.err проходят ("катят" при компилляции), а вот System.in увы нет!
В чем разница между выводом кириллицы на консоль в Windows 7 и Windows 8.1? У меня есть файл с кодом:
public static void main(String[] args) throws Exception { System.out.println(Charset.defaultCharset()); System.out.println("Это кириллица из файла, а это ввод параметра из консоли " + args[0]); }
Ну, я бы тут сказал, что не отрисовывать надо, а раскладывать. Это если Вы именно JLabel хотите использовать. То есть или отрисовывать целиком и полностью картинку, вместе с подложкой и метками -…
Подскажите плизз а как сделать что бы программа отрисовывала Jlabel одну за другой полукругом? Ну на подобие барабана из поле чудес. Барабан круглый а очки отрисованы ровно к верху от положения на…
это просто та статья которую хотелось прочитать, изложена в нужном стиле нужными словами в нужном порядке. я еще не дочитал статью и не знаю кто вы, но уже не понятно почему в 2014 году статьи…
Comments
Кроме того, следует вообще избегать не ASCII символов в исходном коде, а по возможности выносить их в ресурсы, хотя-бы ".properties". Логи и сообщения об ошибках, не предназначенные для пользователя, я так-же веду только в ASCII. Это гарантирует, что их можно будет прочитать в любом редакторе на любой системе.
Вся команда так хорошо его знает?
Как блин выучить на таком уровне?!
2. В жизни я не встречал таких специалистов которые бы были незаменимы и не знали английский на достаточном уровне. Да и сложно представить что человек, регулярно читающий документация на английском, не сможет написать или прочитать комментарий к коду. А если он не читает документацию на английском, то зачем он?
Но пишу очень плохо - ru2en плохой.
Не верится, что все свободно владеют английским, чтобы издагать ясно подробно (как в JDK javadoc например) ;-(
Я и спрашиваю - может секрет какой есть?
Одна из предыдущих команд была еще лучше. Австралиец, новозеландец, голландец, индусы, мавриканцы, японцы, англичане. И до кучи - русские, украинцы и молдаване. :)
А выучить язык можно только используя его. Переписка, митинги, документация, комментарии в коде.
Вы писали, что "И к System.in, использующемуся для чтения из консоли, там тоже надо указывать правильную кодировку."
Подскажите пожалуйста какой клас вместо PrintStream в этом случае надо использовать,
ИБО конструктор класса PrintStream с 3-мя параметрами
принимает в качестве 1-ого из них ТОЛЬКО OutPutStream,
таким образом System.out и System.err проходят ("катят" при компилляции),
а вот System.in увы нет!
У меня есть файл с кодом:
public static void main(String[] args) throws Exception {
System.out.println(Charset.defaultCharse
System.out.println("Это кириллица из файла, а это ввод параметра из консоли " + args[0]);
}
Текущая кодовая страница = Cp866
Кодировка файла = UTF-8
System.out.println(Charset.defaultCharse
команда для компиляции:
javac -encoding UTF-8 File.java
Вывод: Это кириллица из файла, а это ввод параметра из консоли параметр
Если тоже самое проделать в Windows 7, то будут "кракозябры", не пойму почему так происходит, в чем отличие?