문자열과 입출력

김찬수·2022년 12월 20일
0

1. 문자열의 기능

Clone, Concat, Copy, CopyTo, Format, Equals, GetType, indexOf, Insert, Intern, IsInterned, IsNo malized, Join, LastIndexOf, MemberwiseClone, Normalize, PadLeft, PadRight, Remove, Replace, Split, Substring, ToCharArray, ToLower, ToString, ToUpper, Trim 등이 있습니다.

Clone : 스트링 객체에 대한 참조를 반환
Compare : 지정된 두 개의 스트링을 비교
CompareTo : 스트링을 다른 객체와 비교
Concat : 두 개의 스트링을 하나로 결합
Contains : 지정된 문자열이 스트링 내에 있는지 체크
Endswith : 스트링의 마지막 부분을 확인
Equals : 두 개의 스트링이 같은 값을 가지는지 비교
IndexOf : 스트링 내에서 지정한 문자열이 처음으로 발생하는 위치를 반환
Insert : 스트링 내의 지정한 위치에 새로운 문자열을 삽입
Join : 두 개 스트링 사이를 지정된 구분자를 삽입해서 하나로 결합
Replace : 스트링 내의 지정된 문자열을 다른 문자 혹은 문자열로 치환
Split : 지정된 구분자를 사용하여 스트링을 분리
StartsWith : 스트링이 시작된 부분을 확인
ToCharArray : 스트링 내의 문자열을 문자 배열로 복사해 리턴
ToLower : 스트링의 모든 문자들을 소문자로 바꾸어 리턴
ToString : 객체를 스트링 객체로 바꾸어 리턴
ToUpper : 스트링의 모든 문자들을 대문자로 바꾸어 리턴
Trim : 스트링의 시작과 끝 부분에 반복되는 특정 문자들을 제거

2. UTF
*UTF = 유니코드
Unicode는 모든 최신 컴퓨터 시스템용 텍스트를 포함하여 소프트웨어 및 서비스의 국제화를 위한 표준 조직입니다. Unicode standard는 모든 자연어 문자를 나타내는 문자 집합입니다. 유니코드는 약 110만 문자를 인코딩 할 수 있으므로 전 세계의 모든 언어와 스크립트를 지원할 수 있습니다.

유니코드의 종류로는 UTF-8, UTF-16, UTF-32 등이 있습니다.

참고 자료
https://home.unicode.org/

3. 입력과 출력이 프로그램에서 병목되는 이유

입출력 장치는 대부분 빨라봤자 1000Hz, 2000Hz로 CPU에 비해 매우 느립니다. 입출력 장치가 CPU의 속도를 따라가지 못하기 때문에 병목이 됩니다.

병목을 완화하는 방법으로는 CPU버퍼를 사용하는 방법이 있습니다. CPU의 성능은 매우 빠른속도로 연산을 수행해내며 일반적으로 주변장치들이 해당 속도를 따라가지 못해 CPU와 주변장치간 데이터의 교환시 CPU에서 데이터를 임시로 기억해두는 공간이 CPU버퍼 입니다. 버퍼가 사용되는 경우 CPU에서는 입출력 데이터를 대기할 필요없이 입력 또는 출력 명령을 수행해냄으로써 보다 빠른 처리속도를 보여주게 되며, 특히나 느린 시스템 구성장치를 사용하는경우 시스템 구성장치의 동작을 대기하지않고 다음의 명령을 수행해내어 더 빠른 속도를 보여줍니다.

참고 자료
https://www.quora.com/What-is-I-O-buffer-Why-do-you-need-it

profile
프로그래머 지망생

0개의 댓글