Добро пожаловать на unsafe
сушу.
Я делаю P / Invoke для устаревшей библиотеки, которая дает мне строку в C-стиле в виде 0 в виде неуправляемого байтового буфера неизвестной длины, которыйможет быть либо ASCII , либо UTF-16, но без указания каких-либо признаков, кроме самого потока байтов, который ...
. Сейчас у меня плохая схема, основанная напроверка на одиночные и двойные 0 байтов, чтобы решить, должен ли я создать управляемый String
из Char*
или SByte*
.Схема явно ломается для каждой кодовой точки Unicode выше U+00FF
.
Вот что у меня есть: