Schnell ByteBuffer zu CharBuffer oder char[]

Was ist die Schnellste Methode zum konvertieren von java.nio.ByteBuffer a in eine (neu erstellte) CharBuffer b oder char[] b.

Dadurch ist es wichtig, dass a[i] == b[i]. Das bedeutet, dass nicht a[i] und a[i+1] zusammen ein Wert b[j], was getChar(i) tun würde, aber die Werte sollten als "spread".

byte a[] = { 1,2,3, 125,126,127, -128,-127,-126 } //each a byte (which are signed)
char b[] = { 1,2,3, 125,126,127,  128, 129, 130 } //each a char (which are unsigned)

Beachten Sie, dass byte:-128 hat die gleichen (unteren 8) bits als char:128. Daher nehme ich an, das "beste" interpretation wäre so, als bemerkte ich es vor, denn die bits sind die gleichen.

Danach benötige ich auch die Umgekehrt übersetzung: Der effizienteste Weg, um einen char[] oder java.nio.CharBuffer wieder in eine java.nio.ByteBuffer.

Was willst du mit diesem char Puffer? Was soll geschehen, wenn Sie in eine 2-byte-char? Wie sollten die übersetzten byte-array dann so Aussehen? Je nachdem, was Sie benötigen, den effizientesten Weg könnte sein, die nicht konvertiert werden.
In anderen Worten, suchen Sie interpretieren den Inhalt der ByteBuffer als eine Folge von Zeichen kodiert ISO-8859-1?
Die Annahme ist, es gibt keinen höheren Wert als 0xff im char[] Puffer für Rückseite-übersetzung. Jedes Verhalten/Abstürzen würde in Ordnung sein ("unspecified"). ISO-8859-1? Soweit ich weiß, es sind bytes, die nicht übersetzt werden kann, indem jede codepage (zB \0)? Ich denke, die vielen codepage-Konvertierung Bibliotheken nehmen Sie es nicht schön, wenn Sie werfen eine 8-bit-Datenstrom. Aber ich weiß nicht, über Java, ich werde es nachschlagen. Vorstellen, ich habe Bild - /Bild-Daten.
Huh? Wenn Sie Bild - /Bild-Daten, warum dann kümmern Sie sich um Figuren? Vielleicht, wenn Sie beschrieben, was Sie versuchen zu erreichen, anstatt Ihre gewünschten Ansatz zu vollbringen, würden Sie bekommen mehr relevante Antworten.
dann die Daten geben, die Sie brauchen, heißt short

InformationsquelleAutor towi | 2011-05-09

Schreibe einen Kommentar