4#include "Stroika/Foundation/StroikaPreComp.h"
18#if !qTargetPlatformSDKUseswchar_t
19wstring Characters::SDK2Wide (span<const SDKChar> s)
21#if qStroika_Foundation_Common_Platform_MacOS
30 constexpr auto kOptions_ =
CodeCvt<wchar_t>::Options{.fInvalidCharacterReplacement = UTFConvert::Options::kDefaultMissingReplacementCharacter};
31#if qStroika_Foundation_Common_Platform_MacOS
32 static const CodeCvt<wchar_t> kCvt_{UnicodeExternalEncodings::eUTF8, kOptions_};
37 auto codeCvt = [&] () {
43 o.fInvalidCharacterReplacement =
'?';
57#if !qTargetPlatformSDKUseswchar_t
58SDKString Characters::Wide2SDK (span<const wchar_t> s)
60#if qStroika_Foundation_Common_Platform_MacOS
69 constexpr auto kOptions_ =
CodeCvt<wchar_t>::Options{.fInvalidCharacterReplacement = UTFConvert::Options::kDefaultMissingReplacementCharacter};
70#if qStroika_Foundation_Common_Platform_MacOS
71 static const CodeCvt<wchar_t> kCvt_{UnicodeExternalEncodings::eUTF8, kOptions_};
CodeCvt unifies byte <-> unicode conversions, vaguely inspired by (and wraps) std::codecvt,...
nonvirtual STRINGISH Bytes2String(span< const byte > from) const
nonvirtual BLOBISH String2Bytes(span< const CHAR_T > from) const
basic_string< SDKChar > SDKString
AllowMissingCharacterErrorsFlag