반응형

하다가 너무 헷갈려서 그냥 정리하는게 맞겠다~ 싶음.

 

정리해야 할 함수들

  • chr()
  • ord()
  • bytes.fromhex() / .hex()
  • base64.b64encode() / .b64decode
  • long_to_bytes() : long -> byte string
  • bytes_to_long() : byte string -> long

시작해보자.

 

1. chr() 함수

하나의 정수를 인자로 받고, 해당 정수에 해당하는 유니코드 문자를 반환한다.

chr(97) = 'a'

2. ord() 함수

하나의 문자를 인자로 받고, 해당 문자에 해당하는 유니코드 정수를 반환한다.

ord('a') = 97

 

이정도는 오케이. 그런데 그 다음부터 헷갈리더라.

3. bytes.fromhex()

hex 숫자를 인자로 받고, bytes 형식으로 변형함.

예) '\x00\x01\x02 ... '

code
result

 

4. bytes.hex()

바이트 형식 문자열을 16진수 hex로 바꿔줌.

code
result

일반 문자의 경우, 

code
result

그냥 hex 값으로 출력되는 것을 볼 수 있다.

 

정리

  • '\x'가 붙은 값: \x을 떼고 출력해줌.(당연함. hex값을 byte형식으로 나타낸거니까..)
  • 일반 문자: hex값으로 출력함.

5. long_to_bytes()

long형의 숫자를 bytes 형식의 string으로 나타낸다.

이렇게 코드를 짜보면

이런식으로 bytes string으로 출력되는 것을 볼 수 있다.

6. bytes_to_long()

위와 반대의 과정이다.

반응형

+ Recent posts