>  Q&A  >  본문

如图,java中同样是utf-8存储的字符串,为什么这两种方式输出的字节会不同?

PHP中文网PHP中文网2741일 전530

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-18 10:50:35

    먼저 인코딩이 통일되었는지 확인하세요. 파일 인코딩은 UTF-8이고, UTF-8을 사용하여 파일을 읽고, getBytesUTF-8
    을 전달하세요. 메모장을 사용하지 마세요! 메모장을 사용하지 마세요! 중요한 말을 세 번 말하세요! ! !

    회신하다
    0
  • 迷茫

    迷茫2017-04-18 10:50:35

    Java8 문서에서는 String.getBytes()이 플랫폼의 기본 문자 집합에 따라 인코딩된다고 나와 있습니다. Windows의 경우 기본 문자 집합은 utf-8이 아니라 gbk입니다. Linux는 구성에 따라 다릅니다(정확히 어떻게 되는지는 모르겠습니다).

    플랫폼의 기본 문자 세트를 사용하여 이 문자열을 바이트 시퀀스로 인코딩하고 결과를 새 바이트 배열에 저장합니다.

    이 문자열을 기본 문자 집합으로 인코딩할 수 없는 경우 이 메서드의 동작은 지정되지 않습니다. 인코딩 프로세스에 대한 추가 제어가 필요한 경우 CharsetEncoder 클래스를 사용해야 합니다.

    포털: String.getBytes()

    회신하다
    0
  • 취소회신하다