25 Aralık 2017 Pazartesi

URLDecoder ve URLEncoder Sınıfları

Giriş
Bu sınıflar URL nesnesine verilecek parametreler için kullanılırlar. Açıklaması şöyle
The characters allowed in a URI are either reserved or unreserved (or a percent character as part of a percent-encoding). Reserved characters are those characters that sometimes have special meaning. For example, forward slash characters are used to separate different parts of a URL (or more generally, a URI). Unreserved characters have no such meanings. Using percent-encoding, reserved characters are represented using special character sequences.
Şu karakterler reserved oldukları için Percent Encoding'e tabidir.
! # $ & ' ( ) * + , / : ; = ? @ [ ]
Aslında Percent Encoding basitçe karakterin hexadecimal değerinin başına yüzde karakterinin eklenmesidir. Şöyle yapılır.
%26 -> &

%2B -> +

URLDecoder Sınıfı
Şu satırı dahil ederiz.
import java.net.URLDecoder;
decode metodu
Percent encoding'den string'e geri çevirir. Şöyle yaparız.
URLDecoder.decode("%25", "UTF-8")
URLEncoder Sınıfı
Şu satırı dahil ederiz.
import java.net.URLEncoDecoder;
encode metodu
Örnek
UTF-8 kullanarak şöyle yaparız. & karakteri encode edilir.
String urlParameters = "imei=1111224345&date_of_activation=2016-02-18";
String encodedParams = URLEncoder.encode(urlParameters, "UTF-8");
Örnek
ASCII kullanarak şöyle yaparız. ?, =, @, &, % karakterleri encode edilir.
String urlParameters = "?email=api.ikisan@aau.in&password=%~?7ON9Xjp;BcYu";
String encodedParams = URLEncoder.encode( urlParameters, "ASCII" )
parametreler şuna dönüşür.
"%3Femail%3Dapi.ikisan%40aau.in%26password%3D%25%7E%3F7ON9Xjp%3BBcYu";
Örnek
Şöyle yaparız. Boşluk karakteri encode edilir. Boşluk karakteri encode edilir.
URLEncoder.encode("This string has å à è ö and spaces","UTF-8")
Şuna dönüşür.
This+string+has+%C3%A5+%C3%A0+%C3%A8+%C3%B6+and+spaces


Hiç yorum yok:

Yorum Gönder