2011-08-18 2 views
0

유니 코드 문자로 변환 할 Shift_JIS 문자 코드 목록 (정수)이 있습니다. 다른 인코딩에서 작동하는 chr()/unichr() 함수 버전이 필요하다고 생각합니다. hex()과 함께 decode()을 시도했지만 16 진수 값이 아닌 문자열 자체 만 디코딩합니다.어떻게 파이썬에서 Shift_JIS 문자 코드를 유니 코드 문자로 변환 할 수 있습니까?

예 입력 및 출력 :

input = [91, 92, 48, 528] 

output = ["[", "¥", "0", "0"] 

누구든지 나를 도울 수

? 미리 감사드립니다.

+0

이 작업을 수행 'shift_str = CHR (shift_int // 256) + CHR (shift_int % 256)'then 'shift_uni = unicode (shift_str, 'shift-jis')' – agf

+0

당신이 필요로하는 입출력 샘플을 보여줄 수 있습니까? –

+0

"정수"로 무엇을 의미합니까? 'int' 타입 값의 목록을 가지고 있습니까? 또는 인간의 형식이 지정된 기본 10 숫자 (즉, '0'에서 '9'까지의 기호와 그와 같은 공백 만 포함하는 문자열)? 아니면 그냥? 텍스트 파일, 사용자 입력 등 어디에서 오는가? 전체 ** 과정을 설명하십시오. –

답변

0

이 같은 뭔가 시작하는 경우 :

bytearray = [65, 66, 67, 200, 156, 130]

다음이 그것을 할 것입니다 :

>>> ustring = reduce(operator.add, map(chr, bytearray)).decode('shift_jis') 
>>> ustring 
u'ABC\uff88\u6029'