강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

머윤님의 프로필 이미지
머윤

작성한 질문수

모르면 야근하는 문자 인코딩 완전 정복

Java와 UTF-8

Modified UTF-8에서 문자열의 길이 제한이 있나요?

해결된 질문

작성

·

34

0

안녕하세요. 강의 잘 듣고 있습니다.

 

문자열의 길이를 16비트로 저장하는거면,

65535 까지의 길이만 표현이 가능한것 같은데, 그 이상의 문자열은 인코딩하지 못하는 건가요?

 

생각해보니까 최대 길이 만큼 자르고 다시 길이 표시 할 거 같기도 하네요.

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

네. 기본적으로는 생각하시는 것처럼 65535가 최대 길이 입니다. writeUTF() 같은 메서드는 이 길이 제한에 영향을 받습니다. 그러나 본래는 제한이 없는 것이기도 합니다. 길이를 16가 아니라 32비트, 혹은 64비트로 더 늘려주면 얼마든지 가능하기 때문입니다. 다만 이 경우, writeUTF() 메서드 같은 표준 메소드로는 처리를 할 수 없기 때문에 같은 기능을 수행하는 메서드를 스스로 제작해야 합니다.

결과적으로 표준 메서드를 사용하는 경우르면 65535를 넘기면 안 되는 것이고 그 이상이 필요하다면 직접 구현하면 되는 것입니다. 참고하시기 바랍니다. 😄

머윤님의 프로필 이미지
머윤

작성한 질문수

질문하기