utf-8과 리틀 빅 엔디안은 관계없나요?
utf-8에서 맨 앞에 1의 개수를 확인하고 이 데이터는 몇 바이트짜리구나. 라고 알 수 있다고 하셨잖아요.
그럼 빅엔디안에서는 시작하는 바이트의 값을 보고 확인 할 수 있는데, 리틀엔디안에서는 어디가 시작하는 바이트인지 명확하지 않게 되는거 같아요.
내가 사용하는 시스템(윈도우, 리눅스)?에 따라 내부적을 알아서 작동하는건가요?
10으로 시작하지 않는 바이트를 찾아서 이게 '시작바이트구나' 하고 여기서부터 거꾸로 읽어들이는 식인가요?
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다.
김호균님, UTF-8 인코딩과 엔디안(Endian)은 서로 다른 개념으로, UTF-8은 바이트 순서에 의존하지 않는 문자 인코딩 방식입니다. UTF-8은 가변 길이 인코딩 방식으로, 각 문자에 대해 첫 번째 바이트의 패턴을 통해 바이트 길이를 파악할 수 있습니다. 예를 들어, UTF-8에서 1바이트 문자는 0xxx xxxx 형태를 가지며, 다바이트 문자일수록 앞자리 1의 개수가 늘어납니다.
엔디안(Endian)은 주로 숫자 데이터를 저장하는 방식에서 사용하는 개념으로, 데이터의 바이트 순서에 영향을 미칩니다. 빅 엔디안은 가장 중요한 바이트를 앞에 두고, 리틀 엔디안은 가장 중요한 바이트를 뒤에 두는 방식입니다. 숫자 데이터 저장 시에 문제가 되는 것이지, UTF-8에서는 바이트의 순서를 따로 변경할 필요가 없습니다.
즉, UTF-8 인코딩에서는 특정한 바이트의 위치가 아닌 바이트의 패턴으로 문자의 시작을 판단하기 때문에, 엔디안 방식이 달라도 그런 식으로 처리할 필요가 없습니다.
추가로, 영어와 같은 아스키(ASCII) 문자는 UTF-8에서도 그대로 유지되며, 엔디안과 상관없이 해석이 가능합니다. 시스템(윈도우, 리눅스 등)도 UTF-8을 동일하게 처리하게 설계되어 있습니다.
관련된 더 자세한 설명과 예시는 다음 글을 참고하시면 도움이 될 것입니다:
- “무엇이 UTF-8을 대체할 수 없는가”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
섹션2, 대화&세션관리 수업 자료 누락
0
8
1
영상 다운로드는 안되나요?
0
11
0
IntelliJ IDEA 체험 만료
0
12
1
부하 테스트 시 설정 관련 질문드립니다
1
27
1
HelloSpringApplication.java 클래스 실행 오류
0
12
1
build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)
0
30
2
예외처리 3강 문의
0
30
1
챌린지 시작일 문의
0
39
0
26년2회 실기기출은 언제쯤...
0
59
2
네이버 API | '검색 - 책' API 제공 중단
0
42
2
ArticleReadService 관련 질문
0
30
1
kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.
1
71
1
이론 공부법 요약본 버전 업데이트 문의
0
39
2
domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다
1
52
1
해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.
0
26
1
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
47
2
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
32
1
Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면
1
81
1
리뉴얼 시기
0
53
2
스크립트에 대해 질문 있습니다.
1
60
1
writeUTF 메서드로 생성된 파일 읽기
0
91
2
코글 인코딩이 뭔가요?
0
116
2
질문입니다.
0
77
2
Modified UTF-8에서 문자열의 길이 제한이 있나요?
0
126
1

