Giriş
Şu satırı dahil ederiz.
Verilen byte'ları Java String'ine veya Java String'ini byte'lar çevirir.
Byte dizisinden string oluştururken kullanılabilir. Şöyle yaparız.
aliases metodu
Niçin bilmiyorum ama charset'lerin canonical name ve alias isimleri var. Alias isimleri şöyle öğrenilebilir.
CharsetDecoder kullanmakla aynı şeydir. Byte dizisinden string'e çevirir. Şöyle yaparız.
CharsetEncoder kullanmakla aynı şeydir. String'de byte dizisine çevirir. Şöyle yaparız.
Sistemin varsayılan karakter ayarını belirtir.
Bu metod bir factory gibi çalışır. İçine verilen string "canonical name" veya "alias" olabilir. Yani
UTF-8 için şöyle yaparız.
Şöyle yaparız.
Şu satırı dahil ederiz.
import java.nio.charset.Charset;
Soyut bir sınıftır. forName() gibi factory metodlarından birisini kullanmak gerekir.Verilen byte'ları Java String'ine veya Java String'ini byte'lar çevirir.
Byte dizisinden string oluştururken kullanılabilir. Şöyle yaparız.
String str = new String(
new byte[]{...}, Charset.forName("UTF-8"));
String'i başka bir encoding'e çevirmek için kullanılabilir. Şöyle yaparız.String str= ...;
Charset u8 = Charset.fromName("UTF-8");
Charset latin1 = Charset.fromName("ISO-8859-1");
String utf8String = u8.decode(latin1.encode(str)).toString();
aliases metodu
Niçin bilmiyorum ama charset'lerin canonical name ve alias isimleri var. Alias isimleri şöyle öğrenilebilir.
Charset ascii = Charset.forName("US-ASCII");
System.out.println(ascii.aliases());
decode metoduCharsetDecoder kullanmakla aynı şeydir. Byte dizisinden string'e çevirir. Şöyle yaparız.
Charset utf8charset = Charset.forName("UTF-8");
ByteBuffer inputBuffer = ByteBuffer.wrap(new byte[]{(byte)0xC3, (byte)0xA2});
// decode UTF-8
CharBuffer data = utf8charset.decode(inputBuffer);
encode metoduCharsetEncoder kullanmakla aynı şeydir. String'de byte dizisine çevirir. Şöyle yaparız.
Charset utf8charset = Charset.forName("UTF-8");
CharBuffer data = ...;
// encode ISO-8559-1
ByteBuffer outputBuffer = iso88591charset.encode(data);
byte[] outputData = outputBuffer.array();
Bu yöntemin kestirme yolu şöyle.byte[] iso88591Data = theString.getBytes("UTF-8");
defaultCharSet metoduSistemin varsayılan karakter ayarını belirtir.
System.out.println (Charset.defaultCharset());
forName metoduBu metod bir factory gibi çalışır. İçine verilen string "canonical name" veya "alias" olabilir. Yani
Charset.forName("ASCII")
ileCharset.forName("US-ASCII");
aynı şeylerdir.UTF-8 için şöyle yaparız.
Charset utf8charset = Charset.forName ("UTF-8");
ISO-8859-1 için şöyle yaparız.Charset iso88591charset = Charset.forName("ISO-8859-1");
Code page 857 için şöyle yaparız.Charset.forName("Cp857")
newDecoder metoduŞöyle yaparız.
CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder();
Şöyle yaparız.CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();
Hiç yorum yok:
Yorum Gönder