Как конвертировать двунаправленную строку в визуальный порядок wstring?

например у меня есть эта строка:

std::wstring s = L"123";
s.push_back(0x202e);
s.append(L"abc");

Вот 0x202e является UTF-16 меткой RLO (переопределение справа налево). Из-за этого выглядит строка после печати: cba123, Я хочу спросить, есть ли какая-либо функция, которая может преобразовать первую строку в ту, которая печатается.

Также было бы хорошо, если бы эта функция могла обрабатывать все виды спецификаций UTF-16.

Есть ли какой-нибудь стандартный путь? Я пишу на C ++ и могу свободно использовать boost или другую бесплатную библиотеку.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …