Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Конвертиране/енкодинг в python

Featured Replies

Някой може ли да ме светне как да конвертирам през python показаният в стъпка 1 стринг в четаем, като в стъпка 2:

post-31872-0-41926900-1409422410_thumb.p

Редактирано от Phoenix.bg (преглед на промените)

Някой може ли да ме светне как да конвертирам през python показаният в стъпка 1 стринг в четаем, като в стъпка 2:

attachicon.gifСнимка-4.png

Принципно, нещо подобно:

import codecs

print текста.decode('unicode_escape')

  • Автор

Благодаря ти много!

 

По твоя начин получавам грешка: 

UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-10: ordinal not in range(128)

 

...обаче, ако добавя още нещо: 

print s.decode('unicode_escape').encode('utf-8', errors='ignore')

и всичко си идва на мястото  :whist:

  • 5 месеца по-късно...
  • Автор

Отново имам подобен проблем. Кода е следният:

# -*- coding: utf-8 -*-
import re
import sys
import os
import time
import urllib
import urllib2
import requests


mm = 'Destination Space / \xd0\x9a\xd1\x80\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0 \xd1\x86\xd0\xb5\xd0\xbb - \xd0\x9a\xd0\xbe\xd1\x81\xd0\xbc\xd0\xbe\xd1\x81\xd1\x8a\xd1\x82 (2000)'
print 'mm: ' + mm

nn = 'Destination Space / Крайна цел - Космосът (2000)'
nn=nn.decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')
print 'nn: ' + nn

oo=nn.decode('utf-8', errors='ignore').encode('unicode_escape', errors='ignore')
print 'oo: ' + oo

pp=oo.decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')
pp=pp.decode('utf-8', errors='ignore').encode('unicode_escape', errors='ignore')
print 'pp: ' + pp

Резултата от скрипта е следния:

 

7955536j.png

 

Низът който подавам на променливата mm в utf-8 си излиза нормално четим с командата print. Но веднъж прекодиран до състоянието в nn или oo, не успявам да го възстановя обратно в четим вид. В pp се опитвам да изпълня операциите в обратен ред, но без успех. На какво според вас се дължи проблема?

  • 2 седмици по-късно...

Отново имам подобен проблем. Кода е следният:

# -*- coding: utf-8 -*-
import re
import sys
import os
import time
import urllib
import urllib2
import requests


mm = 'Destination Space / \xd0\x9a\xd1\x80\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0 \xd1\x86\xd0\xb5\xd0\xbb - \xd0\x9a\xd0\xbe\xd1\x81\xd0\xbc\xd0\xbe\xd1\x81\xd1\x8a\xd1\x82 (2000)'
print 'mm: ' + mm

nn = 'Destination Space / Крайна цел - Космосът (2000)'
nn=nn.decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')
print 'nn: ' + nn

oo=nn.decode('utf-8', errors='ignore').encode('unicode_escape', errors='ignore')
print 'oo: ' + oo

pp=oo.decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')
pp=pp.decode('utf-8', errors='ignore').encode('unicode_escape', errors='ignore')
print 'pp: ' + pp

Резултата от скрипта е следния:

 

7955536j.png

 

Низът който подавам на променливата mm в utf-8 си излиза нормално четим с командата print. Но веднъж прекодиран до състоянието в nn или oo, не успявам да го възстановя обратно в четим вид. В pp се опитвам да изпълня операциите в обратен ред, но без успех. На какво според вас се дължи проблема?

nn=nn.decode('utf-8', errors='ignore').encode('utf-8-sig', errors='ignore')
print 'nn: ' + nn
 
Може да те насочи поне, а защо е необходимо да се върти толкова текста? Пращаш го на email или някаде за GET (POST)?
  • 2 седмици по-късно...
  • Автор

Имам прогрес !  Ако имате подобни проблеми, разгледайте следните примери с които се преборих:

# -*- coding: utf-8 -*-
import urllib
import HTMLParser

url0='Четири разказа за българското възкресение'
url1='%d7%e5%f2%e8%f0%e8%20%f0%e0%e7%ea%e0%e7%e0%20%e7%e0%20%e1%fa%eb%e3%e0%f0%f1%ea%ee%f2%ee%20%e2%fa%e7%ea%f0%e5%f1%e5%ed%e8%e5'
url2='\xd0\x9f\xd1\x80\xd0\xb5\xd0\xbf\xd0\xbe\xd0\xb4\xd0\xbe\xd0\xb1\xd0\xbd\xd0\xb0 \xd0\xa1\xd1\x82\xd0\xbe\xd0\xb9\xd0\xbd\xd0\xb0'
url3='Събеседник по желание'
url4='\u0421\u044a\u0431\u0435\u0441\u0435\u0434\u043d\u0438\u043a \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435'


print ' '
print 'url0: '+url0

print ' '
print 'url1: '+urllib.unquote_plus(url1).decode('cp1251', errors='ignore').encode('utf-8', errors='ignore')

print ' '
print 'url2: '+url2.decode('utf-8', errors='ignore').encode('utf-8', errors='ignore')

print ' '
pars = HTMLParser.HTMLParser()
c=pars.unescape(url3)
print 'url3: '+c.encode('unicode_escape', errors='ignore').decode('utf-8', errors='ignore').decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')

print ' '
print 'url4: '+url4.decode('unicode_escape', errors='ignore').encode('utf-8', errors='ignore')

Резултата е следния:

url0: Четири разказа за българското възкресение
 
url1: Четири разказа за българското възкресение
 
url2: Преподобна Стойна
 
url3: Събеседник по желание
 
url4: Събеседник по желание

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.