입출력 스트림(I/O stream)

입출력은 네트워크 프로그래밍에서 큰 비중을 차지한다.

파일에서 데이터를 읽고 쓰는 코드와

네트워크에서 데이터를 읽고 쓰는 코드가 거의 같다.

JAVA의 입출력 클래스들에 다형성이 잘 구현되었기 떄문이다.

입력 스트림

출력 스트림

문자 인코딩

컴퓨터가 다루는 데이터의 기본 단위는 이진수 byte 숫자이다.

문자들도 이진수 byte 숫자형태로 저장된다

이진수 숫자와 문자의 연결을 결정하는 것이 문자 인코딩 규칙이다.

대표적으로 UTF-8, EUC-KR, ASCII가 있다.

UTF와 EUC-KR과 달리 ASCII는 8비트이다(다른거는 16비트)

ASCII는 영어 알파벳만 정의한다.

ASCII는 영어 알파벳과 숫자, 키보드 자판에 나오는 기호 문자들 각각에 해당하는 숫자를 결정한다.