.getBytes ()를 호출 할 때 문자열 "¿"이 "¿"로 번역되는 이유
-
05-07-2019 - |
문제
문자열을 쓸 때 "¿"를 사용하여 사용합니다
System.out.println(new String("¿".getBytes("UTF-8")));
 ¿는 단지 ¿ 대신 쓰여집니다.
왜요? 그리고 우리는 그것을 어떻게 고칠 수 있습니까?
해결책
이것을 해결하기 위해 UTF-16을 사용할 필요는 없습니다.
new String("¿".getBytes("UTF-8"), "UTF-8");
잘 작동합니다. 인코딩이 주어진 한 getBytes()
메소드는 문자열 생성자로 전달하는 인코딩과 동일합니다. 괜찮을 것입니다!
다른 팁
문자열 생성자에 숯을 지정해야합니다 ( API 문서).
노력하다:
System.out.println(new String("¿".getBytes("UTF-8"), "UTF-8"));
문자열을 바이트로 변환 할 때와 바이트를 문자열로 다시 변환 할 때 인코딩을 지정해야합니다.
시스템 콘솔이 UTF-8에없는 것 같습니다
제휴하지 않습니다 StackOverflow