프로그래밍/프로그래밍

UNICODE의 첫 128글자는 ASCII와 동일하다.

꿈꾸는 사람_Anthony 2021. 4. 8. 01:28
반응형

UNICODE의 첫 128글자는 ASCII와 동일하다.

예) 문자:ASCII(Decimal):UNICODE(Decimal)

예1) A:65:65

예2) a:97:97

예3) 0:48:48

 

이유 : 그저 변환의 편리함이 이유인 것 같다.

이유에 대한 설명, StackOverflow

 

예를 들어보자.

Python에서 ASCII문자를 16진수로 바꾼 후, 특정 1byte 16진수와 XOR연산을 한 암호문이 있다고 해보자.

(박00선배가 내주신 문제..ㅎㅎ 여태껏 16진수가 1byte인 줄로 알았던 것은 비밀아닌 비밀ㅎㅎ)

이를 복호화하는 프로그램을 Python으로 작성해보자.

 

이때, 우리는 python의 문자 -> UNICODE로 바꿔주는 ord()를 사용할 수 있을 것이다.

다른 변환과정을 통하지 않아도 ASCII와 일치하기에 문제가 되지 않는다. 굉장한 효율성이다. 만약 UNICODE의 첫 128글자가 ASCII와 달랐다면, 파이썬의 내장함수로 ord_ascii()와 같은 함수가 더 있을 것이다. 하지만 그 번거로움을 줄인다.

가끔 이 ord()를 혼돈하여 문자를 ASCII코드 값으로 바꿔주는 함수로 착각하는 경우도 있다. 잘 기억하자.

나중에 UNICODE 코드값으로 변환시에 괜히 다른 함수 찾는다고 고생할 수도 있다.

 

참고

What's the difference between ASCII and Unicode? - Stack Overflow

로마자 기본 — ✔️ ❤️ ★ 유니 코드 문자 백과 사전 (unicode-table.com)

Ascii Table - ASCII character codes and html, octal, hex and decimal chart conversion

아스키(ASCII)코드와 유니코드(Unicode)의 이해 (tistory.com)

반응형