Altro
Come convertire stringhe da e verso array di byte UTF8 in Java
In Java, ho una stringa e voglio codificarla come array di byte (in UTF8, o qualche altra codifica). In alternativa, ho un array di byte (in qualche codifica conosciuta) e voglio convertirlo in una stringa Java. Come faccio queste conversioni?
224
3
Convertire da Stringa a byte[]:
Convertire da byte[] a Stringa:
Naturalmente dovreste usare il nome corretto della codifica. I miei esempi hanno usato US-ASCII e UTF-8, le due codifiche più comuni.
Puoi convertire direttamente tramite il costruttore String(byte[], String) e il metodo getBytes(String). Java espone i set di caratteri disponibili tramite la classe Charset. La documentazione del JDK elenca le codifiche supportate.
Il 90% delle volte, tali conversioni sono eseguite su flussi, quindi useresti le classi Reader/Writer. Non decodifichereste in modo incrementale usando i metodi String su flussi di byte arbitrari - vi lascereste aperti a bug che coinvolgono caratteri multibyte.