Форум сайта python.su
32
увидел очередной топик про кодировки в “Python для новичков”, вспомнил что у меня знакомые признавались что путаются в кодировках, и решил написать статью. Написал про кодировки так как я их понимаю.
прошу экспертов, у кого есть лишние 5 мин, посмотреть статью, указать на ошибки, чем дополнить. буду благодарен.
сама статья
Отредактировано (Март 27, 2010 21:29:09)
Офлайн
0
алилуя. Прикрепите топик xD
Добавьте там тока пометочку про третий питон и о том, что статья о ветке 2.x
Отредактировано (Март 28, 2010 15:13:20)
Офлайн
32
Zubchickготово :)
Добавьте там тока пометочку про третий питон и о том, что статья о ветке 2.x
Офлайн
26
Хм… Не очень грамотно.
В python есть 2 вида кодировок: рабочая(внутренняя) - unicode и внешняя - strОчень важно понимать, что unicode, это не кодировка! Это высокоуровневый объект для работы с символьными данными, или, проще говоря, с текстом. А str, это просто массив байт, которыми можно кодировать символы… А можно и не кодировать.
Офлайн
0
>> Дальше читать не стал, ИМХО настолько фундаментальная ошибка в первой же строчке говорит о том, что переделывать надо всё.
wine это эмулятор программ виндовз, чтобы запустить вашу программу под wine сделайте это…дальше читать не стал, вайн это не эмулятор!!
Офлайн
32
ZZZя слазил на сам python.org - http://docs.python.org/tutorial/introduction.html#unicode-strings
Очень важно понимать, что unicode, это не кодировка! Это высокоуровневый объект для работы с символьными данными, или, проще говоря, с текстом.
Офлайн
32
o7412369815963все, написал и про объекты и про кодировки
ща наверно как-нибудь укажу это в статье.
Офлайн
26
Zubchick, не цепляйся. Мне кажется, что лучше сразу давать правильные понятия и определения, чтобы не вводить новичков в заблуждение. А то это как в школе: до какого-то класса говорят, что нельзя из меньшего вычесть большее…
объект unicode работает с текстом в кодировке unicodeОно, в общем-то правильно, но запутано. Тут не важен тот факт, что он работает “в кодировке unicode”.
происходит вызов _repr_() который возвращаетЛибо “repr”, либо “__repr__”, но никак не “_repr_”.
Офлайн
32
ZZZпочему нельзя использовать cp1251 ? Это же просто указатель в какой кодировке файл.
3. Почему нельзя использовать cp1251 (кстати, из первого примера вытекает, что если я открою блокнотом файл, напишу в первой строке “# coding: utf-8”, то при сохранении файл будет не в cp1251, так что следующий пункт…);
# coding: cp1251
print u'test'
print u'Проверка'
test
Проверка
ZZZу меня вики редактор 2 черточки подрят превращает в подчеркивание поэтому поставил по одной черте, сейчас сделал вставку html для этого слова :)происходит вызов _repr_() который возвращаетЛибо “repr”, либо “__repr__”, но никак не “_repr_”.
Офлайн
26
o7412369815963Я о том, что использовать надо только utf-8. Всегда и везде.
почему нельзя использовать cp1251 ? Это же просто указатель в какой кодировке файл.
Офлайн