I\'ve read various previous questions about the use of reinterpret_cast, and I\'ve also read the relevant wording in the C++ standard. Essentially, what it comes down to is
There are some guarantees elsewhere in the standard (see the section on type representation which, IIRC, mandates that corresponding unsigned and signed types share the representation for the common values, still IIRC, there is also some text guaranteeing that you can read anything as characters). But note also that there are some places which lessen even the section you are reading (which states that things are implementation defined and unspecified): some forms of type punning are undefined behavior.