Галерея диаграмм связей УЭК_Персонаж
Некоторые сведения о строках символов в UEC — международном стандарте кодирования и представления символов. Его цель — предоставить унифицированную схему кодирования символов практически для всех систем письма в мире, чтобы текстовые данные могли лучше обмениваться между различными системами и приложениями.
Отредактировано в 2024-02-01 10:24:18УЭК_Персонаж
ФСтрока
Как преобразовать FString в float double int
FCString::Атоф
FCString::Атод
FCString::Атои
FCString::Atoi64
При использовании этих функций важно убедиться, что содержимое, содержащееся в FString, может быть правильно преобразовано в целое число, в противном случае может возникнуть неопределенное поведение. Перед выполнением преобразования рекомендуется использовать FString::IsNumeric для проверки того, что содержимое строки является допустимым числовым представлением.
Тип персонажа
В C базовым типом символов является «char», который представляет собой байтовый символ. Например:
символ MyChar = 'A';
UE4 также представил тип «TCHAR», который представляет широкий символ в режиме Юникода и узкий символ в режиме без Юникода. Использование «TCHAR» может улучшить переносимость кода.
Что такое среда Unicode?
тип строки
В C базовым типом строки является «char[]» или «std::string». В UE4 более мощный строковый тип, предоставляемый движком, — «FString».
ФСтрока
Это строковый класс в движке UE4, который предоставляет богатые методы работы со строками и функции, специфичные для UE4. Использование FString упрощает работу со строками, не беспокоясь о проблемах с управлением памятью.
Например
FString MyString = TEXT("Привет, Unreal Engine!");
ТЕКСТ
ТЕКСТ макрос
Макрос «ТЕКСТ» используется для преобразования строки в FString. Он выполняет различные операции в режимах Unicode и без него, чтобы обеспечить согласованность строк на разных платформах.
Например
FString MyString = TEXT("Привет, Unreal Engine!");
Что означают среды Unicode и не-Unicode?
широкий характер
В UE4 широкие символы обычно представляются как «WCHAR» или «TCHAR», что означает символы Юникода. «TCHAR» можно переключить на узкие или широкие символы в UE4 в зависимости от параметров компиляции.
В чем разница между узкими и широкими символами?
Имя FName
FName — это специальный тип строки механизма UE4, используемый для представления неизменяемых и часто повторяющихся строк. Это оптимизированная строка, которую можно использовать для уменьшения использования памяти. «FName» обычно используется в UE4 для обозначения ресурсов, свойств и т. д.
Например
FName MyName = FName(TEXT("MyUniqueName"));
Что такое среда Unicode? А как насчет сред, не поддерживающих Unicode? Я китаец. Имеет ли компилятор Rider, который я использую, какое-либо отношение к китайскому языку, который я использую?
Unicode — международный стандарт кодирования и представления символов. Его цель — предоставить унифицированную схему кодирования символов практически для всех систем письма в мире, чтобы текстовые данные могли лучше обмениваться между различными системами и приложениями. Юникод содержит практически все символы мира, включая китайские, латинские буквы, греческие буквы и т. д.
Среда Юникод:
Среда Unicode — это среда, в которой кодировка символов Unicode используется в программах и операционных системах. В среде Unicode символ обычно представлен двумя байтами, которые могут вместить больше символов.
Среда, не поддерживающая Юникод:
Среда, не поддерживающая Юникод, относится к среде, в которой используется кодировка символов, отличная от Юникода. В этой среде один символ обычно представлен одним байтом. В этой среде есть некоторые ограничения, поскольку разные схемы кодирования могут представлять не все символы, особенно для языков и специальных символов, использующих нелатинские алфавиты.
В C вы можете выбрать, включать ли режим Unicode, через параметры компиляции. В режиме Юникода TCHAR представляет широкий символ (2 байта), а в режиме без Юникода — узкий символ (1 байт). В основном это касается обработки строк и символов.
Для сценариев, в которых используется китайский язык, среды Unicode более распространены, поскольку Unicode лучше поддерживает китайские символы и символы других языков. Китайские иероглифы обычно занимают два байта в кодировке Unicode.
Что касается связи между используемым вами компилятором Rider и китайским языком, Rider сам по себе является кроссплатформенной IDE, которая может работать в различных операционных системах и языковых средах. Сам компилятор обычно не привязан напрямую к языку, но определяет кодировку символов и среду на основе настроек вашего проекта и параметров компиляции. В китайской среде вы можете использовать кодировку Unicode для поддержки правильного представления китайских символов.
В чем разница между узкими и широкими символами?
Узкие и широкие символы — это в основном два разных представления при работе с кодировками символов.
Узкий персонаж:
Обычно для представления символа используется один байт (8 бит).
В C тип char обычно считается узким символом, а также char[] или std::string.
Широкий характер:
Обычно для представления символа используются два байта (16 бит) или более.
В C тип wchar_t обычно считается широким символом, так же как wchar_t[] или std::wstring.
Основное отличие заключается в диапазоне символов, которые они могут представлять:
Узкие символы: обычно могут представлять только небольшое количество символов и подходят для однобайтовых кодировок, таких как ASCII или ISO-8859.
Широкие символы: могут представлять более широкий диапазон символов, особенно подходит для кодировок Юникода, где для представления некоторых символов может потребоваться несколько байтов.
В C TCHAR — это макрос, который переключается между узкими и широкими символами в зависимости от параметров компиляции. В режиме кодирования Юникода TCHAR представляет широкий символ (wchar_t), а в режиме кодирования, отличного от Юникода, TCHAR представляет узкий символ (char). Эта конструкция помогает писать переносимый код, который правильно обрабатывает кодировки символов в различных средах.
В общем, выбор использования узких или широких символов обычно зависит от потребностей вашего приложения, особенно от требований к набору символов и соображений интернационализации. Широкие символы часто предпочтительнее при работе с символами, отличными от ASCII, многоязычной поддержке или кроссплатформенной разработке.