00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef HEXBIN_HPP
00023 #define HEXBIN_HPP
00024
00025 #include <xercesc/util/PlatformUtils.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00029 class HexBin
00030 {
00031 public :
00033
00043 static int getDataLength(const XMLCh* const hexData);
00044
00054 static bool isArrayByteHex(const XMLCh* const hexData);
00055
00070 static XMLCh* getCanonicalRepresentation
00071 (
00072 const XMLCh* const hexData
00073 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00074 );
00075
00094 static XMLCh* decode(
00095 const XMLCh* const hexData
00096 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00097 );
00098
00115 static XMLByte* decodeToXMLByte(
00116 const XMLCh* const hexData
00117 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00118 );
00119
00120
00122
00123 private :
00124
00125
00126
00127
00128
00129 static void init();
00130
00131 static bool isHex(const XMLCh& octect);
00132
00133
00134
00135
00136 HexBin();
00137 HexBin(const HexBin&);
00138 HexBin& operator=(const HexBin&);
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152 static bool isInitialized;
00153 static XMLByte hexNumberTable[];
00154 };
00155
00156 XERCES_CPP_NAMESPACE_END
00157
00158 #endif