00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef HEXBIN_HPP
00022 #define HEXBIN_HPP
00023
00024 #include <xercesc/util/PlatformUtils.hpp>
00025
00026 XERCES_CPP_NAMESPACE_BEGIN
00027
00028 class HexBin
00029 {
00030 public :
00032
00042 static int getDataLength(const XMLCh* const hexData);
00043
00053 static bool isArrayByteHex(const XMLCh* const hexData);
00054
00069 static XMLCh* getCanonicalRepresentation
00070 (
00071 const XMLCh* const hexData
00072 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00073 );
00074
00091 static XMLCh* decode(
00092 const XMLCh* const hexData
00093 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00094 );
00095
00096
00098
00099 private :
00100
00101
00102
00103
00104
00105 static void init();
00106
00107 static bool isHex(const XMLCh& octect);
00108
00109
00110
00111
00112 HexBin();
00113 HexBin(const HexBin&);
00114 HexBin& operator=(const HexBin&);
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128 static bool isInitialized;
00129 static bool hexNumberTable[];
00130 };
00131
00132 XERCES_CPP_NAMESPACE_END
00133
00134 #endif