Those strings are used internally by the compiler to uniquely identify types. They're not supposed to be understood by external applications. Unless you want to modify or work on GCC, you don't need to understand them.
If you just want to transform them to a human-friendly string, GCC provides a function to do that: http://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_demangling.html
Obviously if you use that function your code will not be portable, since the return value of typeid(x).name() is implementation defined and compilers are not required to provide means to interpret those values.