категории | RSS
  

Кодирование в питоне

здравствуйте. Тут мы разберем, как и когда надо кодировать файлы при программировании на питоне.
Русский текст
Если вы сохраняете файл в unicode и при этом есть русский текст, то его оформляют в виде строк unicode.
Посмотреть, как оформлять русский текст в юникоде можно в консоли набрав:
Print "русский текст"
Вам выдаст строки.
А если вы работаете с кодировкой utf-8 то вам будет куда удобние. Для декодирования русского текста в utf-8 в начале програмы наберите:
Def ru(x): return x.decode('utf-8')
А русский текст пишем например так:
Appuifw.note(ru(сегодня я дома))
Так писать куда удообнее.
Если будут проблемы с кодировкой, то в начале проги импортируйте модуль sys и выполните такую команду:
Если вы еще не импортировали данный модуль, то напишите:
Import sys
А ниже команду:
Sys.setdefaultencoding('utf-8')
Так плавно мы подошли к кодированию например текста для шифрования.
Метод encode для кодирования, а decode для декодирования.
эти методы не могут просто висеть где попало, а пишутся так:
Def encode(x):
Return x.encode('base64')
Print (decode(felix))
Кодируем имя феликс в шифр.
Ну тут я остановлюсь т.к. Об этом можно говорить сотни лет, например отправлять данные в буфер обмена в шифр.виде доставать и разкодировать.
Остальное читайте в инете, а азы я объяснил.


Felix.potter
2012-09-23T10:44:19Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 11

#11   Zaterehniy    

ну так что ? когда переделаете статью то ? в таком виде да еще и для новичков ....или только для критики время хватает ? ))


0 ответить

#11   Punk_Joker    

По поводу функции setdefaultencoding модуля sys, может быть что будет писпть что функция не существует, что-бы исправить это необходимо перезагрузить модуль

import sys
reload(sys)
sys.setdefaultencoding(\'utf-8\')


0 ответить

#11   Zaterehniy    

это сайт сожрал все знаки пунктуации. Не набрасывайтесь на парня, лучше подскажите что и как поправить, возможно так лучше, возможно этак. По программированию давно не пишут уже тут.


0 ответить

#11   WyTHuK    

"Круто", ниодна строчка из примера не будет работать. 'Текст статьи'.lower() и вставляй сюда, хоть немного исправишься wink


0 ответить

#11   Felix.potter    

и кто из вас мне минус даже 2 поставил? А то прихожу из института и вижу, что моя репутация 00.
-------------
Добавлено в 16.47: ну а статью я потом на днях переделаю. Подумаю, что тут можно добавить


0 ответить

#11   Pufff    

одобряют же...


0 ответить

#11   Zaterehniy    

статью нужно переделывать. во первых некрасиво оформлено, во вторых сухо, толком ничего не написано.


0 ответить

#11   nur87    

Felix.potter
я просто к тому пишу.
что вот все говорят, чтобы работали русские символы пишите

Def ru(x): return x.decode(\'utf-8\')

поэтому раз ты взялся за такую татью, распиши. что это за функция такая вообще. что она делает. ведь главное понять суть этой функции. ну и encode соответственно


0 ответить

#11   Felix.potter    

если есть возможность сохранить в utf-8 то чего ради сохранять в юникоде. В нем текст я сегодня дома будет выглядить вот так:
Код
U'\\u0449 \\u0441\\u0435\\u0433\\u043e\\u0434\\u043d\\u0449 \\u0434\\u043e\\u043c\\u0410 писать так не очень-то удобно.Ну а base64 в любом случае годится. А сохранить в cp1251 ну тут все логично:
Код:
def ru(x): return x.decode('cp1251')


0 ответить

#11   nur87    

я новичок в питоне. и у меня много вопросов, потому что возможно много-го не знаю

Если вы сохраняете файл в unicode и при этом есть русский текст, то его оформляют в виде строк unicode.

подскажите мне новичку. как сохранить текст в unicod в файл.
я обычно сохраняю символы русские и английские в кодировке utf-8
[code=python]file.write(text.encode('utf-8'))[/соde]
Для декодирования русского текста в utf-8 в начале програмы наберите:

а если файл скрипта у меня в cp1251?
на мой взгляд, распиши в статье что такое decode и encode. самое главное понять что это такое.
Def ru(x): return x.decode('utf-8')
А русский текст пишем например так:
Appuifw.note(ru(сегодня я дома))
Так писать куда удообнее.

а мне удобней писать так
[code=python]# coding: utf-8
appuifw.note(u'сегодня я дома')[/соde]
я к тому, что все что ты написал для питона 1.4.5, то что я привел это для второго питона
тоже необходимо указать в статье
Метод encode для кодирования, а decode для декодирования.
эти методы не могут просто висеть где попало, а пишутся так:
Def encode(x):
Return x.encode('base64')
Print (decode(felix))
Кодируем имя феликс в шифр.

а это я вообще не поменял.
разве base64 это шифрование?
я думал это такая же кодировка.
спасибо.


* редактировал(а) nur87 08:32 24 сен 2012

0 ответить

Напомнить пароль