26. november 2004 - 16:17Der er
13 kommentarer og 1 løsning
String til byte til char/tekst
Forhåbentlig et nemt spm., men det skal der også være plads til :-)
Med getBytes()-metoden konverteres en String til byte[]. Hvordan konverterer/cast'er jeg nu til char[]? Egentlig vil jeg bare kunne præsentere en byte-sekvens som (8-bit) tekst.
Altså: String s = "Java rules"; byte[] b = s.getBytes(); char[] c = ...
->arne_v: Jep, char er 16-bit, men byte er 8-bit, så jeg ønsker at arbejde med byte[]. Det er som sådan også fint nok med byte[], men i relation til præsentation vil jeg gerne vise byte[] som tekst.
Som du skriver, ændrer cast af et objekt ikke data men kun opfattelsen af data, og det er præcis funktionaliteten ved præsentation - et vise-format om du vil. Med new String(b) oprettes jo et nyt objekt, og egentlig vil jeg bare vise byte[] som tekst.
Kan jeg ikke det uden at oprette et String-objekt?
virker fordi den laver en konvertering fra 8 til 16 bit.
char[] c; byte[] b = new byte[3]; c = (char[])b;
vil kun lave et andet view på data og det går ikke fordi 4 bytes fylder 24 bit men 3 chars fylder 48 bit
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.