Use U8String/U16String/WString instead of UTF8String/UTF16String/WideString
This commit is contained in:
parent
6cd0063812
commit
21e2b6a9b5
@ -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
|
||||
|
@ -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数据流
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
@ -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() ;}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user