.getBytes()를 호출 할 때 문자열 "¿"이 (가) "Â ¿"로 변환되는 이유는 무엇입니까?
을 사용하여 문자열 "¿"을 쓸 때System.out.println(new String("¿".getBytes("UTF-8")));
¿가 ¿ 대신 쓰여집니다.
왜? 어떻게 해결할 수 있을까요?
.getBytes()를 호출 할 때 문자열 "¿"이 (가) "Â ¿"로 변환되는 이유는 무엇입니까?
을 사용하여 문자열 "¿"을 쓸 때System.out.println(new String("¿".getBytes("UTF-8")));
¿가 ¿ 대신 쓰여집니다.
왜? 어떻게 해결할 수 있을까요?
당신은이 문제를 해결하기 위해 UTF-16를 사용할 필요가 없습니다
new String("¿".getBytes("UTF-8"), "UTF-8");
작품 잘. getBytes()
메서드에 주어진 인코딩이 String 생성자에 전달하는 인코딩과 동일하면 괜찮을 것입니다!
는 소리.
합니다 (API docs 참조)에없는 것처럼
시도 :
System.out.println(new String("¿".getBytes("UTF-8"), "UTF-8"));
당신은 인코딩을 지정해야 두 바이트로 문자열을 변환 할 때 다시 문자열로 바이트를 변환 할 때.
정확히 내가 말했던 것입니다, 게다가 API 문서에 링크되었습니다. ;) –
그러나 p3t0r은 코드 예제를 제공했습니다. ;) –
mmyers, 당신이 upvoted ive 걱정하지 마세요 :) –