s按照gbk解码,在按照gbk组合成String,为什么就不是乱码了呢? 那2这个字符串是最终是什么编码 utf-8还是gbk
天蓬老师2017-04-18 10:53:36
1: s.getBytes()가 매개변수를 사용하지 않으면 jdk의 기본 인코딩(사용자의 인코딩은 utf-8일 수 있음)을 호출하여 문자열을 byte[]로 디코딩한 다음 gbk 인코딩 방법을 사용하여 다시 -바이트[]를 문자열로 인코딩하여 해독하므로 잘못된 문자가 나타납니다.
2.s.getBytes('gbk') gbk 방식에 따라 문자열을 디코딩한 후 gbk 방식을 사용하여 다시 인코딩하면 문자가 깨지는 현상이 발생하지 않습니다.
PHP中文网2017-04-18 10:53:36
위에서 말씀하신 내용이 맞습니다. jdk의 기본 인코딩은 file.encoding
에 지정된 인코딩입니다. Dfile.encoding=GBK
을 사용하여 JVM의 기본 인코딩을 수정할 수 있습니다.
코딩 및 디코딩 지식을 추가하려면 한자 "안녕하세요"를 컴퓨터로 전송하려면 바이너리로 변환해야 합니다. 바이너리로 변환하는 방법은 여기서 언급한 디코딩입니다.
문자 집합 등 Unicode
을 인코딩하는 방법은 여러 가지가 있습니다. 이 문자 집합에는 다양한 기호에 해당하는 숫자가 포함되어 있습니다. 예를 들어 你
은 2345로 표시되며 특정 방식으로 이진수로 변환됩니다(변환 방법에 대한 특정 프로세스는 온라인에서 찾을 수 있습니다).
이진수 문자열을 받은 후 한자로 변환하는 방법은 여기서 언급한 인코딩입니다. 올바른 문자 대응을 얻으려면 인코딩을 특정 방식으로 해결해야 합니다. 예를 들어 你
의 바이너리는 0101010010
이고 你
기호를 얻으려면 utf-8에 따라 인코딩해야 합니다. 그것을 표시하십시오.