🛰️航天仿真算法库 SpaceAST 0.3.1
载入中...
搜索中...
未找到
Encode.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <string>
25#include <clocale>
26
27
28AST_NAMESPACE_BEGIN
29
30
31
38#ifdef _WIN32
39// 以下几个接口只在Windows平台上实现,其他平台不声明,避免误用导致链接错误
40
46AST_UTIL_CAPI errc_t aAnsiToWide(const char* ansi, std::wstring& wide);
47
53AST_UTIL_CAPI errc_t aWideToAnsi(const wchar_t* wide, std::string& ansi);
54
59AST_UTIL_API std::string aAnsiToUtf8(const char* ansi);
60
61#endif
62
67AST_UTIL_API errc_t aUtf8ToWide(const char* utf8, std::wstring& wide);
68AST_UTIL_API std::wstring aUtf8ToWide(StringView utf8);
69
74AST_UTIL_API errc_t aWideToUtf8(const wchar_t* wide, std::string& utf8);
75AST_UTIL_API std::string aWideToUtf8(const wchar_t* wide);
76
77
78
83AST_UTIL_CAPI errc_t aWideToCRT(const wchar_t* wide, std::string& crt);
84
89AST_UTIL_CAPI errc_t aCRTToWide(const char* crt, std::wstring& wide);
90
93AST_UTIL_CAPI bool aCRTIsUTF8();
94
95
100AST_UTIL_CAPI errc_t aUTF8ToCRT(const char* utf8, std::string& crt);
101
102#ifdef _WIN32
103
107AST_UTIL_CAPI _locale_t aUTF8Locale();
108
112AST_UTIL_CAPI _locale_t aAnsiLocale();
113
114
115#endif
116
119AST_NAMESPACE_END
120
121
122
123
errc_t aWideToUtf8(const wchar_t *wide, std::string &utf8)
将宽字符编码的字符串转换为UTF-8编码
定义 Encode.cpp:277
errc_t aUtf8ToWide(const char *utf8, std::wstring &wide)
将UTF-8编码的字符串转换为宽字符编码
定义 Encode.cpp:258
bool aCRTIsUTF8()
检查C语言运行时LC_CTYPE对应的编码是否为UTF-8编码
定义 Encode.cpp:389
errc_t aCRTToWide(const char *crt, std::wstring &wide)
将C语言运行时LC_CTYPE对应的编码的字符串转换为宽字符编码
定义 Encode.cpp:357
errc_t aWideToCRT(const wchar_t *wide, std::string &crt)
将宽字符编码的字符串转换为C语言运行时LC_CTYPE对应的编码
定义 Encode.cpp:324
errc_t aUTF8ToCRT(const char *utf8, std::string &crt)
将UTF-8编码的字符串转换为C语言运行时LC_CTYPE对应的编码
定义 Encode.cpp:412