Коди Фен Форум България
Декодиране на string в python2 - Версия за принтиране

+- Коди Фен Форум България (https://kodibg.org/forum)
+-- Форум: Разработка (https://kodibg.org/forum/forum-7.html)
+--- Форум: Програмиране (https://kodibg.org/forum/forum-8.html)
+--- Тема: Декодиране на string в python2 (/thread-161.html)



Декодиране на string в python2 - Majide - 22-04-2016

Здравейте Shy

Отново имам трудности в декодирането на текст на кирилица в python2. Вижте какво съм написал и дайте идеи как да конвертирам резултата към utf-8:
Код:
 # -*- coding: utf-8 -*-
import re
import urllib
import urllib2
import json
import time

response = urllib2.urlopen('https://i49.vbox7.com/subtitles/263/98263_2.js')

subs = response.read().split("var sSubsJson = '", 1)[-1].split("';", 1)[0].decode('string_escape')
s = re.compile('{"s":"(.*?)","t"\:(\d+),"f"\:(\d+)}')
items = s.findall(subs)
row = 0
subs = ''
for i in items:
    row = row + 1
    subs += str(row) +'\n'
    subs += time.strftime("%H:%M:%S,000", time.gmtime(int(i[2]))) + ' --> ' + time.strftime("%H:%M:%S,000", time.gmtime(int(i[1]))) + '\n'
    subs += i[0].decode('string_escape').replace('+',' ').replace('
','\n')
    subs += '\n\n'
print subs



RE: Декодиране на string в python2 - harry_gg - 23-04-2016

Тоя js файл не е ли нещо прее***н? В браузъра въобще не се визуализира нормално с нито един енкодинг...


RE: Декодиране на string в python2 - Majide - 23-04-2016

Доколкото би могло да съм сигурен, е с windows-1251 (cp1251) encoding, но досега в никакъв софтуер не съм успял да го декодирам. Ако се получи някак си, ще мога да поправя поддръжката за субтитри в една от добавките (мисля, че се подразбира коя точно) Shy


RE: Декодиране на string в python2 - xbmcbg - 28-04-2016

http://2cyr.com/decode/?lang=bg


RE: Декодиране на string в python2 - Majide - 30-04-2016

Благодаря на автора на http://vloader.bg/ за помощта!  Оказа се, че текста е кодиран не с един енкодинг, а с няколко последователно... На колко ракии е бил автора на това програмно "решение", няма нужда да коментираме Smile

subs = response.read().split("var sSubsJson = '", 1)[-1].split("';", 1)[0].decode('utf8').encode('raw_unicode_escape').decode('utf8', 'ignore').encode('utf8', 'ignore')


RE: Декодиране на string в python2 - harry_gg - 30-04-2016

Може нарочно да го е направил така с цел противодействие (всъщност само забавяне) на опитите за разкодиране Big Grin