내 프로그램에서 shift-jis 문자 코드를 해당 utf8 문자 코드 (정수이어야 함)로 변환해야하는 파이썬 정수로 사용합니다. 어떻게하면됩니까? ASCII의 경우 정수를 나중에 유니 코드로 쉽게 변환 할 수있는 ASCII 문자열로 변환 할 수있는 유용한 기능인 ord()/chr()이 있습니다. 나는 다른 인코딩을 위해 그런 것을 찾을 수 없다. 최종 코드 : 파이썬 2주어진 시프트 - jis 문자 코드를 utf-8 문자 코드로 받으시겠습니까?
편집을 사용하여
. 모두 감사합니다 :
def shift_jis2unicode(charcode): # charcode is an integer
if charcode <= 0xFF:
string = chr(charcode)
else:
string = chr(charcode >> 8) + chr(charcode & 0xFF)
return ord(string.decode('shift-jis'))
print shift_jis2unicode(8140)
그것은 정수로가 아닌 바이트로 얻을 이례적인 - 뭔가 있다는 것입니다 너 바꿀 수있어? –
죄송합니다, 할 수 없습니다. BTW, 나는 "바이트"가 파이썬 3에서 새로운 것 같아서 2를 사용한다고 생각한다. –
파이썬 2의'str'은 바이트처럼 작동하며 2.6과 2.7에'bytes' 앨리어스를 갖는다. –