URLDecoder etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
URLDecoder etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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