Konvertieren Sie mit einem Minimum an Kopien die länge gebundene UTF-8-Memorysegment in java.lang.foreign

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Konvertieren Sie mit einem Minimum an Kopien die länge gebundene UTF-8-Memorysegment in java.lang.foreign

by Anonymous » 12 Jul 2025, 23:51

Angenommen, ich habe eine Sequenz von Bytes von C oder einer anderen nativen Plattform, die auf dem JVM als Java.lang.foreign.Memorysegment und in int (oder was auch immer) ausgedrückt wird. Diese Byte-Sequenz ist nicht null terminiert. MemorySegment in dieses Byte [] und konvertieren dieses Byte [] in eine Zeichenfolge :

Code: Select all

    byte[] bytes = new byte[length];
MemorySegment.copy(segment, JAVA_BYTE, offset, bytes, 0, length);
return new String(bytes, charset);
Angesichts der Prahlerei von Oracle über die Effizienz von FFM bei der Konvertierung von Zeichenfolgen würde ich hoffen, dass es eine Möglichkeit gibt, diese Kopie zu vermeiden, aber vielleicht bin ich falsch.>

Top