rudin_.log
로그인
rudin_.log
로그인
[iOS] 문자 인코딩과 Unicode
RudinP
·
2024년 3월 30일
팔로우
0
iOS
메모리
스터디
0
Study
목록 보기
213/226
인코딩과 디코딩
문자를 바이너리로 바꾸는 작업을
인코딩
반대로 바이너리를 문자로 바꾸는 작업을
디코딩
이라고 함.
메모리에 저장되는 형태가 문자집합마다 달라짐
ASCII
하나의 문자를 1Byte로 표현하는 문자 집합
1Bit는 Parity Bit
128개의 문자 표현 가능
extended ASCII-> 표현 가능 문자가 256개로 늘어남
EUC -KR
한글은 초성, 중성, 종성으로 이루어져있음
ASCII로는 표현 불가능
Extended Unix code -Korea 를 사용
KS X 1003 + KS X 1001이 합쳐진 문자 집합
최대 2Byte. 영문자와 특문은 1Byte만, 한글 표현 시 2Byte 모두 사용
복잡한 문자는 이상하게 출력될 수 있음
Unicode
국제적 표준
모든 국가의 문자를 표현하기 위한 문자 집합
기본 인코딩으로 사용 됨
UTF-8
가장 많이 사용(코딩할때도 마찬가지)
코드 포인트를 인코딩할 때, 1~4Byte 가변 크기 사용
기본 아스키코드에 있는 문자는 1Byte, 한글 등은 2~3Byte로 인코딩하고 복잡한 문자는 4Byte로 인코딩
UTF-16
UTF-32
완성형과 조합형
한글을 인코딩 하는 방법
완성형
음절 단위로 완성된 글자 하나마다 고유한 정수 할당
글자 단위 처리로 쉽게 처리
문자열 길이 계산이나 특정 위치 접근에 용이
모든 문자를 표현할 수 있는 것은 아니나, 실생활에서 쓰는 문자는 다 사용 가능
i.e) EUC-KR
조합형
초성, 중성, 종성을 조합해 하나의 글자를 인코딩
초,중,종마다 별도의 숫자가 할당되어 있음
한글로 표현 가능한 모든 글자 표현 가능
상대적으로 복잡하고 느리다.
문자에 할당되어있는 고유의 값들을 유니코드에서
Code Point
라고 한다.
RudinP
곰을 좋아합니다. <a href = "https://github.com/RudinP">github</a>
팔로우
이전 포스트
[iOS] 메모리
다음 포스트
[iOS] 값 형식과 참조 형식
0개의 댓글
댓글 작성