Giriş
CharSetDecoder verilen byte'ları Java String'ine çevirir.
decode metodu - ByteBuffer
Şöyle yaparız.
Şöyle yaparız.
CharSetDecoder verilen byte'ları Java String'ine çevirir.
decode metodu - ByteBuffer
Şöyle yaparız.
byte[] bytes = { ...,... };
ByteBuffer wrapped = ByteBuffer.wrap (bytes);
CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();
CharBuffer out = decoder.decode (wrapped);
decode metodu - ByteBuffer + CharBuffer
Karakterleri birer birer şöyle okuruz.CharsetDecoder cd = Charset.forName("UTF-8").newDecoder();
ByteBuffer in = ByteBuffer.wrap(bytes);
CharBuffer out = CharBuffer.allocate(1);
int p = 0;
while (in.hasRemaining()) {
cd.decode(in, out, true);
char c = out.array()[0];
int nBytes = in.position() - p; //Kaç byte okuduk hesapla
p = in.position();
out.position(0); //Tekrar başa al
}
onMalformedInput ve onMalformedOutputŞöyle yaparız.
CharsetDecoder utf8Decoder = Charset.forName("UTF-8").newDecoder();
utf8Decoder.onMalformedInput(CodingErrorAction.IGNORE);
utf8Decoder.onUnmappableCharacter(CodingErrorAction.IGNORE);
ByteBuffer bytes = ...;
CharBuffer parsed = utf8Decoder.decode(bytes);
Hiç yorum yok:
Yorum Gönder