toNativeUtf16 method
Creates a zero-terminated Utf16 code-unit array from this String.
If this String contains NUL characters, converting it back to a string using Utf16Pointer.toDartString will truncate the result if a length is not passed.
Returns an allocator
-allocated pointer to the result.
Implementation
Pointer<Utf16> toNativeUtf16({Allocator allocator = malloc}) {
final units = codeUnits;
final result = allocator<Uint16>(units.length + 1);
final nativeString = result.asTypedList(units.length + 1);
nativeString.setRange(0, units.length, units);
nativeString[units.length] = 0;
return result.cast();
}