В c ++ у меня есть массив long long со знаком (63-битные числа), массив переменной длины.
std::array<long long, n> encodedString
Этот массив фактически содержит строку в кодировке UTF-8.Это означает, что если вы объедините двоичные файлы каждого элемента массива, результатом будет текст в кодировке UTF-8.
Например, массив:
(621878499550 , 2339461068677718049)
Если вы переводите эти подписанныедолго долго 63 двоичное это дает:
621878499550 = 000000000000000000000001001000011001010110110001101100011011110
2339461068677718049 = 010000001110111011011110111001001101100011001000010000000100001
Если вы сцепить эти двоичные файлы в: 000000000000000000000001001000011001010110110001101100011011110010000001110111011011110111001001101100011001000010000000100001
ЭтоUTF8 для «Hello world!»
Итак, вопрос в том, какой самый простой способ получить строку с «Hello world!»начиная с массива (621878499550, 2339461068677718049)
Лучшее решение, которое у меня сейчас есть, - записать массив в файл в двоичном режиме (fwrite), а затем прочитать файл в текстовом режиме в строку.