인프런 커뮤니티 질문&답변
String에서 String으로 인코딩 한다는 개념이 이해가 안 갑니다!
작성
·
365
0
String body = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8);
이건 말이 되는 것 같은데
String uploadFileName = item.getAttachFile().getUploadFileName();
String encodedUploadFileName = UriUtils.encode(uploadFileName, StandardCharsets.UTF_8);
이건 스트링에서 스트링으로 인코딩 한다는 뜻인데 스트링에서 스트링으로 인코딩할 필요가 있는건가요? 왜냐하면 String 데이터 형식은 메모리상에 유니코드 형태로 압축되지 않은 문자 데이터가 온전히 있다는 뜻이잖아요?
퀴즈
일반적인 HTML 폼 전송 방식(`x-www-form-urlencoded`)과 파일 업로드 시 사용하는 방식(`multipart/form-data`)의 주요 차이점은 무엇일까요?
전자는 텍스트만, 후자는 바이너리 데이터를 포함할 수 있습니다.
전자는 GET, 후자는 POST 메서드만 사용합니다.
전자는 헤더만, 후자는 바디만 전송합니다.
전자는 암호화되고, 후자는 암호화되지 않습니다.
답변 1
2
안녕하세요. 컴퓨터공부하자님
HTTP 헤더는 ASCII + 일부 특수문자만 이해할 수 있습니다. (ISO-8859-1 축소 호환)
encodedUploadFileName은 HTTP 헤더에 전달해야 하기 때문에 이 포멧을 따라야 합니다. 따라서 %인코딩을 해주어야 합니다.
비슷한 질문에 답을 달아두었습니다.
https://www.inflearn.com/questions/252621
감사합니다.





