여기 내 전체 코드이며, ASCII와 함께 잘 작동하지만, 사진에서 "유니 코드"부르는 것들은을 때 ... 나는이 알고 내 인생 ...파이썬 유니 코드 디코딩 인코딩
싫어 영어가 아니지만 설명해 드리겠습니다.
2 개의 입력 파일 (realmek, nevek)과 1 개의 결과 파일 (osszes)이 있습니다.
(html)에 작업 페이지가 있습니다.
- ANSI 문자로 말했듯이 이것은 효과적입니다.
그러나 이상한 종류의 기계를 사용하려고하면 : "űáéđĐ"유니 코드에는 2 개의 입력 파일과 1 개의 출력 파일을 저장해야합니다. 그러나 내 프로그램보다 "인코딩 디코딩"오류가 발생합니다. 그리고 나는 그것이 정상임을 안다.
제 질문은 : 어떻게 해결할 수 있습니까? 어디에서 디코딩 인코딩을 처리해야합니까?
나는 이것을 3 일 동안 생각하고 있습니다. "u = unicode (s,"utf-8 ")"와 같이 많은 디코딩을 시도했습니다. $ export LANG = en_US.UTF-8; 그러나 그것은 효과가 없었습니다.
from urllib import urlopen
import re
faj = "hiba"
cast = "hiba"
pont = 0
szint = 0
fj = open("C:\Users\Rendszergazda\Desktop\Achievements\Realmek.txt", "r")
tombr = fj.readline()
realmek = tombr.split(" ")
fj.close()
fh = open("C:\Users\Rendszergazda\Desktop\Achievements\Nevek.txt", "r")
tomb = fh.readline()
nevek = tomb.split(" ")
fh.close()
osszes = open("C:\Users\Rendszergazda\Desktop\Achievements\Osszes.txt", "a")
for x in realmek:
realm = x
for y in nevek:
nev = y
lap = urlopen("http://eu.battle.net/wow/en/character/"+str(realm)+"/"+str(nev)+"/achievement").read()
letezik = re.compile('<div id="server-erro(.*)">')
letez = re.findall(letezik,lap)
if (letez != []):
a = 0
else:
lapn = lap.split("\n")
mapo = lapn[1087]
pontos = re.compile('\t\t\t\t\t(.*)\r')
pont = re.findall(pontos,mapo)
mapom = lapn[1322]
feastn = re.compile('<div class="bar-contents">\t\t\t\t\t\t\t\t\t\t\t\t(.*)\r')
feast = re.findall(feastn,mapom)
fajkeres = re.compile('</strong></span> <a href="/wow/en/game/race/(.*)" class="race">')
castkeres = re.compile('</a> <a href="/wow/en/game/class/(.*)" class="class">')
szintkeres = re.compile('<span class="level"><strong>(.*)</strong></span> <a href="/wow/en/game/')
faj = re.findall(fajkeres,lap)
cast = re.findall(castkeres,lap)
szint = re.findall(szintkeres,lap)
link = "http://eu.battle.net/wow/en/character/"+str(realm)+"/"+str(nev)+"/advanced"
ccast = cast [0]
ffaj = faj [0]
sszint = szint [0]
ppont = pont [0]
ffeast = feast [0]
osszes.write(str(nev)+" "+str(realm)+" "+str(ppont)+" "+str(ffeast)+" "+str(ffaj)+" "+str(ccast)+" "+str(sszint)+" "+str(link)+"\n")
osszes.close()
가 정의 "작동하지 않습니다 ". 예기치 않은 결과, 예외, 크래시가 발생합니까? 질문에 오류 세부 정보를 수정하십시오. –
UNICODE 문자가 같은 위치에 있지 않기 때문에 오류가 발생하지 않습니다. 예를 들어 다음과 같습니다. mapo = lapn [1087] ASNII에서 '16'을 입력하고 UNICODE 소스 입력으로 : unicode stings ... 그리고 내가 사용하기 전에 해독 할 필요가있는 곳. 그래서 문제가 아니라 오류인지 알고 있기 때문에 문제는 인코딩이지만 문제는 어디에 인코딩해야하는지 모르겠다. 먼저 입력. – user1292883
나는 그것들과 같은 몇 가지 문제가 있었고 나는 해결했다. 인코딩은 일종의 방식으로 매우 문제가됩니다. 내 질문에 대해 살펴보고 제안을 추출해보십시오. 행운을 빕니다! – DonCallisto