-// Those global string that are return by reference everywhere in gdcm code
-// used to be in gdcmCommon.h but due to a 'bug' in gcc/MacOSX
-// you cannot have static initialization in a multithreaded environment
-// since there is a lazy construction everything got skrew up somehow
-// Therefore the actual initialization is done in a cxx file (avoid
-// duplicated symbol), and an extern is used in gdcmCommon.h
-const std::string GDCM_UNKNOWN = "gdcm::Unknown";
-const std::string GDCM_UNFOUND = "gdcm::Unfound";
-const std::string GDCM_BINLOADED = "gdcm::Binary data loaded";
-const std::string GDCM_NOTLOADED = "gdcm::NotLoaded";
-const std::string GDCM_UNREAD = "gdcm::UnRead";
+/// \brief Those global string that are returned by reference everywhere in
+/// gdcm code used to be in gdcmCommon.h but due to a 'bug' in gcc/MacOSX
+/// you cannot have static initialization in a multithreaded environment
+/// since there is a lazy construction everything got skrew up somehow
+/// Therefore the actual initialization is done in a cxx file (avoid
+/// duplicated symbol), and an extern is used in gdcmCommon.h
+
+const std::string GDCM_UNKNOWN = "GDCM::Unknown";
+const std::string GDCM_UNFOUND = "GDCM::Unfound";
+const std::string GDCM_BINLOADED = "GDCM::Binary data";
+const std::string GDCM_NOTLOADED = "GDCM::NotLoaded";
+const std::string GDCM_UNREAD = "GDCM::UnRead";
+const std::string GDCM_NOTASCII = "GDCM::NotAscii";
+const std::string GDCM_PIXELDATA = "GDCM::Pixel Data to be loaded";
+
+const char GDCM_VRUNKNOWN[2] = {' ',' '}; // avoid useless std::string stuff
+
+#ifdef _WIN32
+const char GDCM_FILESEPARATOR = '\\';
+#else
+const char GDCM_FILESEPARATOR = '/';
+#endif