Q1. base64 인코딩이란?
- 8비트 이진 데이터를 문자 코드에 영향 받지 않는
공통 아스키 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 의미합니다.
Q1-1 8비트 이진 데이터란 무엇입니까?
- 8개의 비트로 구성된 이진 데이터를 의미합니다.
Q1-2 8비트로 나타낼 수 있는 수의 범위는 무엇입니까?
- -128~127입니다.
Q1-3. 2의 보수란 무엇입니까? 2의 보수를 어떻게 계산합니까?
- 어떤 8비트의 수가 있다고 하자.
그 수를 모든 자릿수를 1에서 0으로 0에서 1로 전환할 수 있다.
예를 들어서, 1100을 0011로 전환할 수 있다.
이렇게 전환하면 원래 수와 전환된 수를 더하면 10000이 되는데,
이는 항상 -1이 된다.
따라서 전환된 수에 1을 더하면 즉, 0011에 1을 더하면
0100이 되고, 이것이 1100을 음수로 만든 수가 된다.
Q1-3-1. 원래 수에서 반전 시킨 수를 무엇이라고 하는가?
- 1의 보수라고 합니다.
Q1-3-2. 1의 보수에 1을 더한 수를 무엇이라고 합니까?
- 2의 보수라고 합니다.
Q1-4 Signed Number란 무엇인가?
-> 음수를 의미한다.
Q1-3. 8비트의 제일 앞의 비트를 무엇이라고 합니까?
- MSB(Most Significant Bit)라고 합니다.
Q1-4 8비트로 묶은 단위를 무엇이라고 합니까?
- 1바이트라고 합니다.
Q1-5 MSB가 0인 경우와 1인 경우는 무엇입니까?
- 0인 경우는 양수, 1인 경우는 음수입니다.
Q1-2 아스키 영역의 문자들이란 무엇입니까?
-
Q1-3 왜 바이너리 코드를 아스키 영역의 문자들로 변환하는가?
- 네트워크 상에서 전송하기 편하게 하기 위해서 변환하는 것이다.
Q1-4. 왜 아스키 영역의 문자들로 변환하면 네트워크 상에서 전송하기 편리한가?
-> 문자열 String으로 전송할 수 있기 때문이다.
Q1-5. 어떻게 base64 인코딩 되는가?
- 예를 들어 Man이라는 문자열이 있다고 하자.
이 문자열의 각각의 문자의 아스키코드 값이 있다.
그리고 그 아스키 코드의 값은 이진 데이터로 변환할 수 있다.
이진 데이터로 변환하면 총 24비트의 이진 데이터가 생성된다.
그리고 이를 6으로 나눠서 자른다.
그리고 각각을 base64 아스키 코드에 맞게 변환한다.
Q1-6. 그렇다면 base64 아스키 코드가 따로 있는 것인가?
-
Q1-7. 왜 굳이 이렇게 변환을 하는가?
- leaves the data unlikely to be modified in transit
-> 즉, 전송시에 데이터의 변환을 막기 위해서이다.
-> 서로 다른 인코딩 방식을 사용하고 있을 수 있기 때문에,
base64라는 통일된 인코딩 방식으로 보내는 것이다.
'면접준비' 카테고리의 다른 글
자바 면접 준비 (0) | 2022.07.19 |
---|---|
스프링 면접 준비 (0) | 2022.07.19 |
커피챗 0624 (0) | 2022.06.24 |
면접 준비 질문 리스트 3 (0) | 2022.06.19 |
면접 준비 질문 리스트 1 (0) | 2022.06.19 |