Java'da Dizeleri UTF8 bayt dizilerine ve dizilerden dönüştürme
Java'da bir String'im var ve bunu bir bayt dizisi olarak kodlamak istiyorum (UTF8 veya başka bir kodlamada). Alternatif olarak, bir bayt dizim var (bilinen bir kodlamada) ve bunu bir Java String'ine dönüştürmek istiyorum. Bu dönüşümleri nasıl yapabilirim?
224
3
String'den byte[]'a dönüştürün:
byte[]'dan String'e dönüştürün:
Elbette doğru kodlama adını kullanmalısınız. Örneklerimde en yaygın iki kodlama olan US-ASCII ve UTF-8 kullanıldı.
Doğrudan String(byte[], String) yapıcısı ve getBytes(String) yöntemi aracılığıyla dönüştürebilirsiniz. Java, Charset sınıfı aracılığıyla mevcut karakter kümelerini sunar. JDK belgeleri desteklenen kodlamaları listeler.
Zamanın %90'ında, bu tür dönüştürmeler akışlar üzerinde gerçekleştirilir, bu nedenle Reader/Writer sınıflarını kullanırsınız. Rastgele bayt akışlarında String yöntemlerini kullanarak artımlı kod çözme yapmazsınız - kendinizi çok baytlı karakterleri içeren hatalara açık bırakırsınız.