2014-07-04 3 views
0

일부 코드를 파이썬에서 자바로 변환하려고합니다. 코드가 수행하는 한 가지는 숫자를 16 진수로 변환하는 것입니다. 하지만 내가 java에서 결과를 볼 때. 파이썬과 같지 않습니다.자바는 16 진수로 변환 파이썬은 16 진수로 변환

내 코드에서 뭔가 잘못하고있는 중이거나 파이썬에서 java 대 변환 중 차이점이 있습니다. 변환에 차이가있는 경우.

Integer.toHexString(tempString.charAt(d)); 

파이썬 :

hex(ord(d)).replace("0x","") 

더 많은 정보

누군가가 내가 그렇게 자바 응용 프로그램이 같은 방법으로

JAVA로 변환 할 수 있습니다 무엇을해야하는지 말해 줄 수

나는 내부의 데이터를 모른다. 그냥 어떤 결과가 자바에서

결과로 생각되어 있습니다 : 파이썬에서

11FFFD 

결과는 다음과 같습니다

11E37B 
+1

당신은 좀 더 정보를 게시해야합니다. 어떻게 결과가 비슷하지 않습니까? 두 작업의 출력을 게시하십시오. – msvalkon

+0

나는 여기서 무엇이 잘못되었는지 생각해 본다. Java 코드에서 실제로'char'을 변환하는 반면, 파이썬 코드에서는'int' –

답변

0

입력을 모른 채, 그것을 말할 어렵습니다. 그러나 현재 사용할 수있는 제한된 정보로 보이는 방식은 최소한 코드 샘플에서는 동일한 것을 액세스하지 않는 것입니다.

자바 : 파이썬에서

Integer.toHexString(tempString.charAt(d)); 

은 다음과 같습니다

hex(ord(tempString[d])).replace('0x', '') 

현재 인덱스가 아닌 입력 문자열의 문자 위치의 ord()를 액세스하는 반면.

입력 사항 (입력 방법)이 아니라 문제가 변환인지 확인하기 위해 먼저 입력 내용을 확인해 보는 것이 좋습니다.

0

@Mathias Cicero와 마찬가지로 Python에서 int를 변환하는 Java에서 char을 변환합니다. 파이썬에서

경우 ord() 함수는 문자의 INT 표현을 반환합니다, 당신은 int로 숯불을 캐스팅하여 동일한 작업을 수행해야합니다

Integer.toHexString((int) tempString.charAt(d));