Use U8String/U16String/WString instead of UTF8String/UTF16String/WideString

This commit is contained in:
hyzboy 2024-12-24 22:41:09 +08:00
parent 6cd0063812
commit 21e2b6a9b5
8 changed files with 62 additions and 62 deletions

View File

@ -153,7 +153,7 @@ namespace hgl
* @param litter
* @return
*/
//bool GetFileHash(const OSString &filename,HASH ha,UTF8String &hash_str,bool litter=true);
//bool GetFileHash(const OSString &filename,HASH ha,U8String &hash_str,bool litter=true);
}//namespace util
}//namespace hgl
#endif//HGL_UTIL_HASH_INCLUDE

View File

@ -4,12 +4,12 @@
namespace hgl
{
const UTF8String GetJsoncppVersion();
const U8String GetJsoncppVersion();
/**
* Json数据类型到普通UTF8字符串
*/
bool JsonToString(const Json::Value &jv_root,UTF8String &str,OSString &error_info);
bool JsonToString(const Json::Value &jv_root,U8String &str,OSString &error_info);
/**
* json数据流

View File

@ -13,21 +13,21 @@ namespace hgl
{
friend class ElementParseCreater;
UTF8String element_name;
U8String element_name;
protected:
Map<UTF8String,ElementCreater *> ecs_map;
Map<U8String,ElementCreater *> ecs_map;
virtual ElementCreater *GetSubElementCreater(const UTF8String &sub_name);
virtual ElementCreater *GetSubElementCreater(const U8String &sub_name);
public:
const UTF8String &GetElementName()const{return element_name;}
const U8String &GetElementName()const{return element_name;}
public:
ElementCreater(const UTF8String &en){element_name=en;}
ElementCreater(const U8String &en){element_name=en;}
virtual ~ElementCreater()=default;
bool Registry(ElementCreater *ec);
@ -45,19 +45,19 @@ namespace hgl
{
protected:
UTF8String null_string;
U8String null_string;
Map<UTF8String,UTF8String> attrs_list;
Map<U8String,U8String> attrs_list;
public:
ElementAttribute(const UTF8String &en):ElementCreater(en){}
ElementAttribute(const U8String &en):ElementCreater(en){}
virtual ~ElementAttribute()=default;
const UTF8String operator[](const UTF8String &flag)
const U8String operator[](const U8String &flag)
{
UTF8String key=flag.ToLowerCase();
UTF8String info;
U8String key=flag.ToLowerCase();
U8String info;
if(attrs_list.Get(key,info))
return info;
@ -66,11 +66,11 @@ namespace hgl
}
#define TO_CONV(TYPE,FN,SFN,DEFAULT_VALUE) \
const TYPE FN (const UTF8String &flag,const TYPE default_value=DEFAULT_VALUE) \
const TYPE FN (const U8String &flag,const TYPE default_value=DEFAULT_VALUE) \
{ \
const UTF8String key=flag.ToLowerCase(); \
const U8String key=flag.ToLowerCase(); \
\
UTF8String info; \
U8String info; \
\
if(!attrs_list.Get(key,info)) \
return default_value; \
@ -88,11 +88,11 @@ namespace hgl
#undef TO_CONV
const UTF8String ToString (const UTF8String &flag){return operator[](flag);}
const int ToSerial (const u8char **list,const UTF8String &flag,const int default_value)
const U8String ToString (const U8String &flag){return operator[](flag);}
const int ToSerial (const u8char **list,const U8String &flag,const int default_value)
{
UTF8String key=flag.ToLowerCase();
UTF8String info;
U8String key=flag.ToLowerCase();
U8String info;
if(!attrs_list.Get(key,info))
return default_value;
@ -118,7 +118,7 @@ namespace hgl
virtual void Attr (const u8char *flag,const u8char *info) override///<节点属性
{
UTF8String key=flag;
U8String key=flag;
key.LowerCase();
@ -133,7 +133,7 @@ namespace hgl
{
Stack<ElementCreater *> ecs_stack;
Map<UTF8String,ElementCreater *> ecs_map;
Map<U8String,ElementCreater *> ecs_map;
ElementCreater *cur_ec;

View File

@ -15,18 +15,18 @@ namespace hgl
{
protected:
using AttrsMap=Map<UTF8String,UTF8String>;
using AttrItem=KeyValue<UTF8String,UTF8String>;
using AttrsMap=Map<U8String,U8String>;
using AttrItem=KeyValue<U8String,U8String>;
AttrsMap attrs_map;
protected:
const AttrItem *GetAttrItem(const UTF8String &name);
const AttrItem *GetAttrItem(const U8String &name);
template<typename T> const bool GetInteger (const UTF8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stoi(ai->value.c_str(),value):false);}
template<typename T> const bool GetUInteger (const UTF8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stou(ai->value.c_str(),value):false);}
template<typename T> const bool GetFloat (const UTF8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stof(ai->value.c_str(),value):false);}
template<typename T> const bool GetInteger (const U8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stoi(ai->value.c_str(),value):false);}
template<typename T> const bool GetUInteger (const U8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stou(ai->value.c_str(),value):false);}
template<typename T> const bool GetFloat (const U8String &name,T &value){const AttrItem *ai=GetAttrItem(name);return(ai?stof(ai->value.c_str(),value):false);}
public:
@ -36,28 +36,28 @@ namespace hgl
public:
const bool Contains (const UTF8String &name)const{return attrs_map.ContainsKey(name);}
const bool Contains (const U8String &name)const{return attrs_map.ContainsKey(name);}
const u8char * ToCString (const UTF8String &name){const AttrItem *ai=GetAttrItem(name);return(ai?ai->value.c_str():nullptr);}
const u8char * operator[] (const UTF8String &name){return ToCString(name);}
const u8char * ToCString (const U8String &name){const AttrItem *ai=GetAttrItem(name);return(ai?ai->value.c_str():nullptr);}
const u8char * operator[] (const U8String &name){return ToCString(name);}
public:
const bool Get(const UTF8String &name,UTF8String &str);
const bool Get(const UTF8String &name,UTF16String &str);
const bool Get(const UTF8String &name,u8char &ch);
const bool Get(const UTF8String &name,bool &value);
const bool Get(const U8String &name,U8String &str);
const bool Get(const U8String &name,U16String &str);
const bool Get(const U8String &name,u8char &ch);
const bool Get(const U8String &name,bool &value);
const bool Get(const UTF8String &name, int8 &value){return GetInteger < int8 >(name,value);}
const bool Get(const UTF8String &name,uint8 &value){return GetUInteger<uint8 >(name,value);}
const bool Get(const UTF8String &name, int16 &value){return GetInteger < int16>(name,value);}
const bool Get(const UTF8String &name,uint16 &value){return GetUInteger<uint16>(name,value);}
const bool Get(const UTF8String &name, int32 &value){return GetInteger < int32>(name,value);}
const bool Get(const UTF8String &name,uint32 &value){return GetUInteger<uint32>(name,value);}
const bool Get(const UTF8String &name, int64 &value){return GetInteger < int64>(name,value);}
const bool Get(const UTF8String &name,uint64 &value){return GetUInteger<uint64>(name,value);}
const bool Get(const U8String &name, int8 &value){return GetInteger < int8 >(name,value);}
const bool Get(const U8String &name,uint8 &value){return GetUInteger<uint8 >(name,value);}
const bool Get(const U8String &name, int16 &value){return GetInteger < int16>(name,value);}
const bool Get(const U8String &name,uint16 &value){return GetUInteger<uint16>(name,value);}
const bool Get(const U8String &name, int32 &value){return GetInteger < int32>(name,value);}
const bool Get(const U8String &name,uint32 &value){return GetUInteger<uint32>(name,value);}
const bool Get(const U8String &name, int64 &value){return GetInteger < int64>(name,value);}
const bool Get(const U8String &name,uint64 &value){return GetUInteger<uint64>(name,value);}
const bool GetHexStr(const UTF8String &name,uint8 *data);
const bool GetHexStr(const U8String &name,uint8 *data);
};//class ElementParseKV:public ElementParse
}//namespace xml
}//namespace hgl

View File

@ -25,7 +25,7 @@ namespace hgl
namespace xml
{
const UTF8String GetExpatVersion();
const U8String GetExpatVersion();
const char *GetExpatError(int);
constexpr int XML_PARSE_BUFFER_SIZE=HGL_SIZE_1KB*128; ///<XML解析缓冲区大小
@ -67,7 +67,7 @@ namespace hgl
const char *flag=*name;++name; \
const char *info=*name;++name;
#define XML_END_PARSE() LOG_ERROR(UTF8String(__FILE__)+U8_TEXT(":")+UTF8String(__LINE__)+U8_TEXT(" can't parse atts \"")+UTF8String(flag)+U8_TEXT("\" , info \"")+UTF8String(info)+U8_TEXT("\".")); \
#define XML_END_PARSE() LOG_ERROR(U8String(__FILE__)+U8_TEXT(":")+U8String(__LINE__)+U8_TEXT(" can't parse atts \"")+U8String(flag)+U8_TEXT("\" , info \"")+U8String(info)+U8_TEXT("\".")); \
}
#define XML_END_PARSE_SKIP() ;}

View File

@ -8,7 +8,7 @@ namespace hgl
{
if(!ec)return(false);
const UTF8String &name=ec->GetElementName().ToLowerCase();
const U8String &name=ec->GetElementName().ToLowerCase();
if(name.IsEmpty())return(false);
if(ecs_map.ContainsKey(name))return(false);
@ -17,13 +17,13 @@ namespace hgl
return(true);
}
ElementCreater *ElementCreater::GetSubElementCreater(const UTF8String &sub_name)
ElementCreater *ElementCreater::GetSubElementCreater(const U8String &sub_name)
{
if(sub_name.IsEmpty())return(nullptr);
ElementCreater *ec;
const UTF8String &sn=sub_name.ToLowerCase();
const U8String &sn=sub_name.ToLowerCase();
if(!ecs_map.Get(sn,ec))
return(nullptr);

View File

@ -5,7 +5,7 @@ namespace hgl
{
namespace xml
{
const ElementParseKV::AttrItem *ElementParseKV::GetAttrItem(const UTF8String &name)
const ElementParseKV::AttrItem *ElementParseKV::GetAttrItem(const U8String &name)
{
const int pos=attrs_map.FindPos(name);
@ -19,7 +19,7 @@ namespace hgl
attrs_map.Add(flag,info);
}
const bool ElementParseKV::Get(const UTF8String &name,UTF8String &str)
const bool ElementParseKV::Get(const U8String &name,U8String &str)
{
const AttrItem *ai=GetAttrItem(name);
@ -29,7 +29,7 @@ namespace hgl
return(true);
}
const bool ElementParseKV::Get(const UTF8String &name,UTF16String &str)
const bool ElementParseKV::Get(const U8String &name,U16String &str)
{
const AttrItem *ai=GetAttrItem(name);
@ -39,7 +39,7 @@ namespace hgl
return(true);
}
const bool ElementParseKV::Get(const UTF8String &name,u8char &ch)
const bool ElementParseKV::Get(const U8String &name,u8char &ch)
{
const AttrItem *ai=GetAttrItem(name);
@ -49,14 +49,14 @@ namespace hgl
return(true);
}
const bool ElementParseKV::Get(const UTF8String &name,bool &value)
const bool ElementParseKV::Get(const U8String &name,bool &value)
{
const AttrItem *ai=GetAttrItem(name);
return(ai?stob<u8char>(ai->value.c_str(),value):false);
}
const bool ElementParseKV::GetHexStr(const UTF8String &name,uint8 *data)
const bool ElementParseKV::GetHexStr(const U8String &name,uint8 *data)
{
const AttrItem *ai=GetAttrItem(name);

View File

@ -64,13 +64,13 @@ namespace hgl
};
}//namespace
const UTF8String GetExpatVersion()
const U8String GetExpatVersion()
{
return( UTF8String::numberOf(XML_MAJOR_VERSION)+
UTF8String(U8_TEXT("."))+
UTF8String::numberOf(XML_MINOR_VERSION)+
UTF8String(U8_TEXT("."))+
UTF8String::numberOf(XML_MICRO_VERSION));
return( U8String::numberOf(XML_MAJOR_VERSION)+
U8String(U8_TEXT("."))+
U8String::numberOf(XML_MINOR_VERSION)+
U8String(U8_TEXT("."))+
U8String::numberOf(XML_MICRO_VERSION));
}
const char *GetExpatError(int code)