Page 25 -
P. 25

표 5-1에서 글자들은 컴퓨터가 이해할 수 있는 0과 1의 조합과 함께 대응되어 있다. 즉 ‘A’는
                   000, ‘B’는 001로 표현할 수 있다.
                   반대로 000을 문자로 표현해야 한다면 ‘A’로, 111은 ‘라’로 바꿀 수 있다.

                   [코드 5-5]에서 ch라는 변수에 ‘A’라는 문자를 저장하고 표 5-1을 문자 변환 표로 사용한다면
                   메모리에는 000이 저장된다. 메모리에 있는 000을 문자로 화면에 출력한다면 표를 거꾸로 해
                   석해서 ‘A’라는 글자를 보인다.

                   파일에 문자를 저장하거나 텍스트 파일을 읽는 것도 동일하게 인코딩/디코딩이 필요하다.
                                                                                                   5
                   파일에 ‘A’라는 글자를 저장한다면, 실제 ‘A’라는 글자가 저장되는 것이 아니라 000이라는 숫
                   자값이 저장되고, 반대로 파일에서 000을 읽었는데 문자로 보여야 한다면 ‘A’라는 글자로 출                             문자열
                   력한다. 000을 읽었는데 정수로 보인다면 0을 출력할 것이다.

                   문자를 컴퓨터가 처리할 수 있는 이진 코드로 변환하는 것을 문자 인코딩(character encoding)이
                   라고 하고, 반대로 컴퓨터에 저장되어 있는 이진 코드를 문자로 변환하는 것은 문자 디코딩
                   (character decoding)이라고 한다.
                   이후부터는 확실하게 구분해야 하는 경우가 아니면 문자 인코딩과 디코딩을 통칭해서 인코딩

                   으로 말한다.



                   대표적인 문자 변환 표


                   대표적인 문자 변환 표로 ASCII(아스키 코드), EUC-KR, cp949(CP949, MS949),
                   Unicode(유니코드) 등이 있다.
                   ASCII 표는 1960년대 초반 미국에서 표준화된 문자 변환 표이다. 7비트로 구성되어 128개 글
                   자를 표현할 수 있고, 당시 컴퓨터에서 쓰던 제어 문자(탭문자, 줄바꿈, 공백 문자 등을 제외

                   하면 대부분 지금은 사용하지 않음), 알파벳, 숫자, 특수 문자(마침표, 물음표, 느낌표, 콤마
                   등) 등을 포함한다.

                   표 5-2 아스키 코드 표의 일부

                     16진수 코드   문자    16진수 코드    문자    16진수 코드   문자    16진수 코드    문자
                    58         X    59          Y    5A         Z    5B         [
                    5C         \    5D          ]    5E         ^    5F         _

                    78         x    79          y    7A         z    7B         {





                                                                                     5장  문자열 │  183
   20   21   22   23   24   25   26   27   28   29   30