>Java >Java베이스 >Java에서 잘못된 URL에 대한 솔루션

Java에서 잘못된 URL에 대한 솔루션

尚
원래의
2019-12-03 10:29:282563검색

Java에서 잘못된 URL에 대한 솔루션

Java에서 잘못된 URL에 대한 솔루션: (권장: java 비디오 튜토리얼)

1. 문자 문자열 트랜스코딩: newString("xxxxx".getBytes("iso-8859-1"),"utf-8")

이 트랜스코딩 방법은 지정된 문자 세트 인코딩을 사용하기 때문에 큰 단점이 있습니다. 이 문자열을 바이트 시퀀스로 변환하고 결과를 새 바이트 배열에 저장한 다음 지정된 문자 인코딩을 사용하여 결과 바이트 배열을 디코딩하여 새 문자열을 구성합니다.

이 경우 한자 하나를 완전히 해독하지 못하는 상황이 발생할 수 있습니다. 이렇게 하면 이전 단어는 정상적으로 표시되지만 마지막 단어가 깨질 수 있습니다.
그래서 이 방법은 사용하지 않는 것이 좋습니다.

2. 매개변수를 전달하기 전에 트랜스코딩하고 매개변수를 받은 후 다시 트랜스코딩합니다.

이 작업을 수행하는 방법에는 두 가지가 있습니다.

첫 번째 방법:

매개변수를 전달하기 전에: java.net.URLEncoder.encode(" xxxx ", "utf-8"), 중국어를 16진수 문자로 변환합니다.

매개변수 수신 후: java.net.URLDncoder.decode("xxxx", "utf-8")를 사용하여 16진수 문자를 중국어로 변환합니다.

이 방법에서 주의할 점은 인코딩을 사용하면 특수 문자가 나타난다는 점입니다. 이때 특수 문자를 해당하는 16진수로 바꿔야 합니다. 특수 문자도 URL 경로에 매개변수로 전달되면 왜곡되기 때문입니다.

두 번째 유형:

매개변수 전달 전: encodeURI("xxxx").

매개변수 수신 후: java.net.URLDncoder.decode("xxxx", "utf-8")를 사용하여 16진수 문자를 중국어로 변환합니다.

이 방법에서 주의할 점은 encodeURI를 사용하여 트랜스코딩한 후 특수 문자가 표시된다는 점입니다. 이때 특수 문자도 함께 트랜스코딩해야 하므로 encodeURI를 두 번 사용합니다. #🎜 🎜#

encodeURI(encodeURI(“xxxx”))。

이 두 가지 트랜스코딩 방법은 매우 유용하므로 모두가 사용하는 것이 좋습니다.

특정 사용법:

1. 클라이언트:

url=encodeURI(url);

서버:

String linename = new String(request.getParameter(“name”).getBytes(“ISO-8859-1”),“UTF-8”);

2. #
url=encodeURI(encodeURI(url)); //用了2次encodeURI

서버:

String linename = request.getParameter(name);

java: 문자 디코딩

linename = java.net.URLDecoder.decode(linename , “UTF-8”);

더 많은 Java 지식을 보려면

java 기본 튜토리얼

을 참고하세요. 열.

위 내용은 Java에서 잘못된 URL에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.