안녕하세요 강사님, 강의 잘 듣고있습니다 🙂 강의하신 내용중에 나온 Java의 modifiedUTF 메서드로 파일을 작성했을 경우, 만약 이 파일을 일반적인 utf-8 방식으로 읽으면, 길이 정보도 utf-8로 해석 되어 의도한 바와 다른 결과 값으로 읽히나요? 예를 들어 메모장 같은 것으로 열어 utf-8 로 인코딩을 바꿀 경우 원래 utf-8 에는 길이 정보가 없지만 writeUTF 로 작성한 파일에는 포함돼있으니 제대로 디코딩이 되지않을 것 같아서요.
utf-8에서 맨 앞에 1의 개수를 확인하고 이 데이터는 몇 바이트짜리구나. 라고 알 수 있다고 하셨잖아요. 그럼 빅엔디안에서는 시작하는 바이트의 값을 보고 확인 할 수 있는데, 리틀엔디안에서는 어디가 시작하는 바이트인지 명확하지 않게 되는거 같아요. 내가 사용하는 시스템(윈도우, 리눅스)?에 따라 내부적을 알아서 작동하는건가요? 10으로 시작하지 않는 바이트를 찾아서 이게 '시작바이트구나' 하고 여기서부터 거꾸로 읽어들이는 식인가요?
간혹 "나도코딩"의 sizeof 값이 13으로 나오는 분들이 있습니다. 저도 그랬습니다. 해당 내용은 Encoding 방식의 차이 때문에 일어난 일입니다. 즉, 한글을 컴퓨터에 어떻게 저장할 것이냐의 차이인데, EUC-KR 혹은 CP949 방식으로는 나도코딩님처럼 한 글자가 2 byte를 차지하여 저장되지만, UTF-8 환경에서는 3 byte를 차지하게 되어 sizeof가 예제와 다르게 나오는 것입니다. "만일"이라는 단어를 예시로 EUC-KR 환경이라면 sizeof가 5, UTF-8 환경이라면 sizeof가 7이 나오면 정상입니다. 즉 EUC-KR에서는 (2*n+1), UTF-8에서는 (3*n+1)의 값이 나오면 예제가 정상적으로 수행된 것입니다. 저는 VSCode에서 실행하고 있는데 하단 오른쪽에 Encoding 방식을 설정할 수 있게 되어 있습니다. 수업에서 쓰는 에디터에서도 설정이 가능할 것 같은데, 확인해보지는 않았습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 조인 실습 01에서 조인 파일을 열었는데 코드가 UTF-8이 아니라서 불러올 수 없다고 하네요 어떻게 해야 할까요?
안녕하세요 강사님~ :) 강의를 이해하기 쉽게 잘 설명해 주셔서 즐겁게 수강 중에 있습니다. 다름이 아니라, 서버쪽에서 console.log(res.req.file);을 찍어보면 아래 사진에서처럼 한글 파일명이 깨져서 나타납니다. 혹시 한글로 인코딩 하려면 어떻게 해야 하는지 알 수 있을까요? (T^T 구글링을 해도 못 찾겠어서 여쭤보아요)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ResponseHeaderServlet 작성할때 response header 설정하는 부분에서 다른것들 가령 Content-Type이나 Cookie나 잘 되는데 인코딩을 utf-8로 설정하는건 안먹힙니다. response.setHeader("Content-Type", "text/plain; charset=utf-8"); response.setCharacterEncoding("UTF-8"); 둘다 해봐도 charset=ISO-8859-1로 되어있네요 이거 저만 이런건지 아시는분 도움 부탁드립니다. 참고로 다음강의에서 ResponseHtmlServlet 작성할때는 response.setHeader("Content-Type", "text/html; charset=utf-8"); 로 설정하니 원하는대로 설정이 됩니다...