강의

멘토링

커뮤니티

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

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

예제로 구현하는 파일 업로드, 다운로드

String에서 String으로 인코딩 한다는 개념이 이해가 안 갑니다!

작성

·

364

0

String body = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);

이건 말이 되는 것 같은데

String uploadFileName = item.getAttachFile().getUploadFileName();

String encodedUploadFileName = UriUtils.encode(uploadFileName, StandardCharsets.UTF_8);

이건 스트링에서 스트링으로 인코딩 한다는 뜻인데 스트링에서 스트링으로 인코딩할 필요가 있는건가요? 왜냐하면 String 데이터 형식은 메모리상에 유니코드 형태로 압축되지 않은 문자 데이터가 온전히 있다는 뜻이잖아요?

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 컴퓨터공부하자님

HTTP 헤더는 ASCII + 일부 특수문자만 이해할 수 있습니다. (ISO-8859-1 축소 호환)

encodedUploadFileName은 HTTP 헤더에 전달해야 하기 때문에 이 포멧을 따라야 합니다. 따라서 %인코딩을 해주어야 합니다.

비슷한 질문에 답을 달아두었습니다.

https://www.inflearn.com/questions/252621

감사합니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기