As the title says, I'm having two questions.
Edit: To clarify, they don't actually use char and short, they ensure them to be 8-bit and 16-bit by specific typedefs. The actual type is then called UInt8 and UInt16.
1. Question
The iTunes SDK uses unsigned short* where a string is needed. What are the advantages of using it instead of char*/unsigned char*? How to convert it to char*, and what differs when working with this type instead?
2. Question
I've only seen char* when a string must be stored, yet. When should I use unsigned char* then, or doesn't it make any difference?