пятница, 26 января 2007 г.

Java Puzzle 18: String Cheese

byte[] array = new byte[256];
for ( int i = 0; i < array.length; i++ )
array[i] = (byte)i;

String str = new String(array);
for ( int i = 0; i < str.length(); i++ )
System.out.println( (int)str.charAt( i ) );

Не забывайте, что при конвертации массива байт в строку используется преобразование, которое зависит от установленной кодировки. Текущая кодировка задается в системном свойстве file.encoding.
При таком преобразовании может потеряться часть информации. Необходимую кодировку можно задать вторым параметром конструктора. Но преобразование будет всегда.

Java Puzzle 17: Huh?

В качестве примера приведена последоательность Unicode-символов и спрашивается, что быдет делать эта программа. А я что... должен помнить код каждого символа?
Вывод: Используйте Unicode-символы, только если не можете ввести требуемую информацию другим способом. Не используйте их, если можно ввести символы другим способом.

Математические этюды

Забавно