> Java > Java베이스 > Java에서 문자열 왜곡 문자에 대한 솔루션 소개

Java에서 문자열 왜곡 문자에 대한 솔루션 소개

풀어 주다: 2019-12-02 11:10:37
원래의
3059명이 탐색했습니다.

Java에서 문자열 왜곡 문자에 대한 솔루션 소개

java 문자열 왜곡 솔루션: (권장: java 비디오 튜토리얼)

System.out.println(str);
            String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8");
            System.out.println(str1);
            String str2 = new String(str.getBytes("gb2312"), "utf-8");
            System.out.println(str2);
            String str3 = new String(str.getBytes("gbk"), "utf-8");
            System.out.println(str3);
로그인 후 복사

str.getBytes( charsetName ); charsetName은 원래 문자 인코딩입니다.

"utf-8"은 str을 utf-8 인코딩으로 변환하는 것입니다.

new String(str.getBytes("gbk"),"iso8859-1")

첫 번째 단계: byte[] bytes=str.getBytes("gbk ” )

"gbk" 메소드에서 중국어를 바이트 배열로 변환하도록 Java 가상 머신에 지시합니다. 한자는 2바이트에 해당합니다.

해당하는 두 번째 단계는 다음과 같습니다.

String s=new String(bytes,"iso8859-1"), 이때 각 바이트는 하나로 결합됩니다"?" 이때 s는 여러 개의 "?"를 의미하는 한자의 특수문자로 간주할 수 있으며, 이를 손실 없이 복원할 수 있다.

java.lang.String.getBytes(String charsetName) 메소드는 지정된 문자 세트를 사용하여 이 문자열을 바이트 시퀀스로 인코딩하고 결과를 새 바이트 배열에 저장합니다.

Declaration

다음은 java.lang.String.getBytes() 메서드의 선언입니다.

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException
로그인 후 복사

Parameter: charset -- 이것은 a 지원되는 문자 집합의 이름입니다.

반환 값: 이 메서드는 결과 바이트 배열을 반환합니다.

new String(byte[],decode) method

getBytes와 비교하면 new String(byte[], decode) Word를 통해 이 "매체"를 복원할 수 있습니다. # 🎜🎜#

This new String(byte[],decode)는 실제로 지정된 인코딩 디코드를 사용하여 byte[]를 문자열로 구문 분석합니다.

Exception: UnsupportedEncodingException -- 지정된 문자 집합이 있는 경우 지원되지 않습니다.

자바에 대한 더 많은 지식은

java 기본 튜토리얼 칼럼을 주목해주세요.

위 내용은 Java에서 문자열 왜곡 문자에 대한 솔루션 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿