Good question, but if you look inside regedit you will see the same garbage signs...
Yes, of course you will.
Regedit is doing exactly the same thing that you are - converting BYTE values into a displayable format. It doesn't understand any better than you do what the format of the binary object is, so it just provides a simple character / hex dump. Where the byte values happen to correspond to simple strings they will appear in the display (albeit interspersed with the "." representing the 00 value where the string is wide/unicode). Where the byte is something else such as a interger or floating point number you are likely to get garbage.
To appreciate what is going on it helps to understand how computers store data, especially where they are complex types like floating point. Numbers are not stored in a string form but as a binary version. Even this is not simple and is governed by the chip architecture (big/little endian) and local math library implementation. (Note, some database engines do have an option to store numbers in a portable format which might be string representation)
The binary objects in the registry are not necessarily a single datum. This registry entry is a good example of compound data - there are multiple seperate wide strings and also some other underfined data type(s) mixed in. The undefined data may be integers, floating point numbers, a byte array which represents the bitmap for an icon or just about anything.
Without a definition (schema) which describes the data layout it is very difficult to interpret.