Разные, на мой взгляд, интересные замечания, связанные с компьютерами в частности и техникой вообще.

вторник, 20 января 2009 г.

Книги на телефоне.

Являюсь счастливым обладателем телефона Sony Ericsson k320i.
Отличная модель, к слову. Устраивает во всём.
Так как практически вся библиотека хранится в цифре, а читать хочется не только за компом, решил обзавестись читалкой на телефоне.
Ставить какие-нибудь java-книги и т.д. очень не хотелось. К тому же почти сразу появилась идея читать с помощью встроенного броузера. Но сразу же столкнулся с проблемой оперативной памяти. Броузер на телефоне не мог открывать большие файлы. Надо их как-то резать. Сперва ещё планировал каждый из маленьких текстовых файлов форматировать в html, однако оказалось, что встроенный броузер понимает txt(правда только в кодировке utf-8). В итоге решилось всё простым скриптом:

% cat textrebuild.sh
#!/bin/bash
#
# Разбиваем исходный файл на куски по 20000 байт.
split -b 20000 -d $1;
# Удаляем исходный файл
rm -f $1;
# Все кусочки переименовываем в файлы
# вида x<порядковый номер>.txt
# и перекодируем в utf-8, удаляя исходные.
FLIST=`ls ./ | grep -v textrebuild.sh`
a=0
for i in $FLIST
do
a=`echo "${a} + 1" | bc`;
cat $i | iconv -f koi8-r -t utf-8 > x${a}.txt;
rm -f $i
done

Вот и всё. Работает всё просто. Натравливаем скрипт на обычный текстовый файл с книгой и получаем на выходе кучу маленьких текстовых файлов в юникоде. Всё это потом скидывается на телефон через usb и читается по порядку в соответствии с порядковым номером.